我遇到的下一个困难是如何爬取完整的用户评论
如图,很多评论都是折叠起来的 要是想直接获取完整的用户评论,最后只能得到空值
于是我尝试另外写一个方法来获取完整的评论 结果不尽人意
然后我看书上的实例有用selector获取网页源代码的方法
先获取网页源代码 就可以直接获取完整的用户评论了
selector = etree.HTML(driver.page_source)
usereviews = selector.xpath('//span[@jsname="fbQN7e"]')
这样获取的是页面所有的用户评论
现在要做的就是把用户评论一条一条的展现出来
于是用到了一个for循环语句
在此过程中绕了许多弯路 一开始想要把所有的信息
比如用户名 日期 评分 评论等信息都放到一个for循环
为此尝试了许久 最大的困难就是
除了用户评论外的所有信息都可以直接获得
而评论要首先按一个 full review按钮把评论的全部内容都展现出来之后才能获取完整的评论
而按按钮和获取评论必须紧接着一起实现
否则就不能确定按按钮和获取评论是不是同一个用户评论中的内容了
因此我只好把获取评论单独的放到一个for循环中
然后呢 有少数的用户评论很简短 不用按按钮就可以获取全部信息
那么这样的话 获取用户评论就要分情况讨论了