为了演示方式,大家可以直接打开上面这个网址,然后拖到全部口碑位置,找到我们本次采集需要的字段如下图所示:
采集字段
我们进行翻页发现,浏览器网址发生了变化,大家可以对下如下几页的网址找出规律:
通过简单的测试,发现似乎不存在反爬,那就简单了。
我们先引入需要用到的库:
importrequestsimportpandasaspdimporthtmlfromlxmlimportetreeimportre然后创建一个数据请求的函数备用:
由于需要进行翻页,这里我们可以先通过re正则表达式获取总页码。通过查看网页数据,我们发现总页码可以通过如下方式获取:
try:pages=int(re.findall(r'共(\d+)页',r)[0])#如果请求不到页数,则表示该车型下没有口碑数据except:print(f'{name}没有数据!')continue
总页码采集
关于待采集字段信息,我们发现都在节点div[@class="mouthcon-cont-left"]里,可以先定位这个节点数据,然后再进行逐一解析。
待采集字段信息所在节点
此外,我们发现每一页最多15个车型口碑数据,因此我们每页可以定位15个待采集信息数据集,遍历采集代码:
由于没啥反爬,这里直接将采集到的数据转化为pandas.DataFrame类型,然后存储为xlsx文件即可。
整个爬虫过程比较简单,采集下来的数据也比较规范,以本文案例奥迪Q5L示例如下:
THE END