源代码格式相同的页面为什么爬虫抓取的数据数目不同?
1 在翻页爬取不同页面的数据时,发现每页的源代码是相同的,但是用同一个抓取方法抓取的数据为什么个数不同,有的是全部的40条,有的只有29条。不知道是反爬虫的原因还是怎么回事,求指教。
2 代码如下:
import time
import re
import requests
import random
from bs4 import BeautifulSoup
url1 = 'http://yanbao.stock.hexun.com/listnews1_1.shtml'
url2 = 'http://yanbao.stock.hexun.com/listnews1_2.shtml'
url3 = 'http://yanbao.stock.hexun.com/listnews1_3.shtml'
info = requests.get(url1).content
soup = BeautifulSoup(info,'lxml')
stock = [i.string.split(':')[0] for i in soup.find_all('a',class_ = 'fxx_wb')]
print(len(stock))
抓取的元素是红色部分,即股票的代码
3 结果:在url1和url2中都能抓40条(全部数目),在url3只有29,其余的有些是40,也有很大一部分小于40,自己观察了一下好像代码格式都是相同的,但是为什么出现这种情况,请问原因,和如何处理? 谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
个人猜测的话可能是ajax的异步加载导致的,可能程序执行的太快,一些数据值返回了,一些还在加载。
有些网站点击下一页是整个刷新界面,有些只是刷新下一页数据,页面其他元素并不改变,不知道你抓的网页是什么情况。