我有一个需求:从新浪新闻的页面中获取新闻的评论人数,但是这个人数是动态生成的。直接读取源代码是看不到数据的。
比如
这条新闻,新闻标题下面一行有一个 ‘我有话说(820人参与)’,从源代码中是无法查看的。
所以使用python的urlopen 抓取不到,但是FireBug插件下查看的话是可以看到
<a id="media_comment" class="J_Comment_Count_Txt" data-sudaclick="media_comment" action-data="y=-50" action-type="" style="" rel="我有话说" href="http://comment5.news.sina.com.cn/comment/skin/default.html?channel=gn&newsid=1-1-27642839"> 我有话说( <span class="f_red">820</span> 人参与) </a>
可以看到span标签和内容820.
但如果直接查看网页源代码:
<a id="media_comment" href="#J_Comment_Wrap" rel="我有话说" class="J_Comment_Count_Txt" style="display:none;" action-type="anchorGo" action-data="y=-50" data-sudaclick="media_comment">我有话说</a>
对比两个代码,可以看出少了href和
<span class="f_red">820</span> 人参与)
这段代码。
现在我想要获取820这一数字。使用python语言,有什么好的方法吗?可以获取FireBug产生的源代码来获取这一数字吗?怎么获取?
O(∩_∩)O谢谢
你抓那个新闻面的包,看下那个动态生成的数字是哪个包的,
然后用python直接请求这个包就可以拿到了.
谢谢回复
你好,请问你这个问题解决了么 我也遇到了类似的问题,请指教一下,谢谢
@wanglei_134: 我自己搞定了 用服务端的js即可