javascript - 为什么用Beautifulsoup无法提取微博粉丝列表的page数
巴扎黑
巴扎黑 2017-04-11 09:43:43
[JavaScript讨论组]

用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")

这是为什么呢?

巴扎黑
巴扎黑

全部回复(3)
黄舟

直接看网页的源码

class="page prev S_txt1 S_line1 page_dis" 在页面刚加载的时候是 在script标签里的

你应该用正则去匹配

PHPz

可能是因为取的层级有问题,或者有相同的标签吧,可以到pycatch上看看

PHP中文网

因为这是JS动态生成的,在html源码中是看不到的。你可以用selenium+phantomjs来执行js代码获取执行后的html源码,这样可以获取到

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号