问题是这样,是用selenium制作了一个爬虫去爬某网站不同教授的文章发表数据数据。
但是前期实验样本数量少的情况还好,没有遇到什么异常。
但是后面当样本数量有大几千以后我发现了不同。就是用同一方法针对同一样本爬取的结果前后不一样
我同一样本爬了三次,三次都不一样。但是出错的地方也每次不一样。
例如:A教授第一次爬取的数据和第三次爬取的数据是一样的,但是和第二次是不一样的
B教授第二次爬取的数据和第三次爬取的数据是一样的,但是和第一次是不一样的
我用logging 看看了运行情况,发现了两个问题,
1:爬虫在识别页面数的时候出错,例如有八页但是只识别到了一页,导致只能爬第一页,但是这个情况非常罕见,就出错过一次。但是代码逻辑毫无问题,也跟之前一样,第一次可能是A教授出错第二次可能就是B教授出错了
2:第二个也是非常常见的一种情况,不同次爬取得到的数据不一样,比如第一次爬取到A教授51篇文章,第二次却只爬取到了50篇,缺少的这篇文章是随机缺少的,不是规律性的。比如第三次爬就又是51篇了
请问可能是什么情况,网络丢包吗,具体信息可私信
可能你的网站获取的数据包是根据一些特定的标签ID来排序的,顺序可能会出现错乱,可以试一试用requests来弄,看看你的目标URL
可能掉包了,给多点时间,接收数据。
每读一个新的页面,多给点载入时间。当然也可能是网站的问题,我原来也遇到过,每次访问网站,页数多的时候,信息在排序上总会有问题,可以尝试先手动浏览,排除一下是不是网站的问题。
一般这种情况是页面元素加载时间不同导致
这种一般是有ajax这种异步请求或使用vue之类前端渲染页面的库造成,一般是使用显式等待,先判断元素的完整性,再开始获取元素数据。
把你请求的脚本发一下,有助于分析问题原因
【win10 爬虫:解决爬取的html与源文件显示不一致问题】https://minipro.baidu.com/ma/qrcode/parser?app_key=y1lpwNoOyVpW33XOPd72rzN4aUS43Y3O&launchid=2f7d4b6d-2ada-46f5-8ad2-4b6d8d0c9964&path=%2Fpages%2Fblog%2Findex%3FblogId%3D111544716%26_swebFromHost%3Dbaiduboxapp