用python写小脚本想爬取新浪科技的粉丝http://weibo.com/1642634100/fans,先要获得粉丝页数,用chrome看到的html结构如下:

写的脚本如下,获得的list为空
def getFansPage(urlfans):
req = urllib2.Request(urlfans, headers=headers)
time.sleep(sletime)
html_sample = exceptRequest(req).read()
# 分析得到pagenum所在属性
soup = BeautifulSoup(html_sample,'html.parser')
pagenum = soup.find_all("a",class_="page prev S_txt1 S_line1 page_dis")
return pagenum
后来发现这样连都是空的:
pagenum = soup.find_all("a",class_="WB_frame")
这是为什么呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
直接看网页的源码
class="page prev S_txt1 S_line1 page_dis" 在页面刚加载的时候是 在
script标签里的你应该用正则去匹配
可能是因为取的层级有问题,或者有相同的标签吧,可以到pycatch上看看
因为这是JS动态生成的,在html源码中是看不到的。你可以用selenium+phantomjs来执行js代码获取执行后的html源码,这样可以获取到