小弟想利用爬虫抓取东方财富网股吧的数据。股吧网页链接.
在获取'下一页'的链接时发现通过requests.get方法获得的源码中,部分能够在浏览器里显示的代码无法获得。
请问各位有什么好的解决方法。
通过浏览器能看到的网页源码如下:
<div id="pageArea" class="pagelist">
<span class="tip"></span>
<ul class="pagernums" data-pager="default_|49788720|80|1">
<span>
<a data-page="1" href="default_1.html" target="_self"></a>
<a class="on" data-page="1" href="default_1.html" target="_self"></a>
<a data-page="2" href="default_2.html" target="_self"></a>
<a data-page="3" href="default_3.html" target="_self"></a>
<a data-page="4" href="default_4.html" target="_self"></a>
<a data-page="5" href="default_5.html" target="_self"></a>
<a data-page="6" href="default_6.html" target="_self"></a>
<a data-page="7" href="default_7.html" target="_self"></a>
<a data-page="8" href="default_8.html" target="_self"></a>
<a data-page="9" href="default_9.html" target="_self"></a>
<a data-page="10" href="default_10.html" target="_self"></a>
<a data-page="11" href="default_11.html" target="_self"></a>
<a data-page="2" href="default_2.html" target="_self"></a>
<a data-page="622359" href="default_622359.html" target="_self"></a>
共
<span class="sumpage"></span>
页
</span>
</ul>
</div>
</div>
使用requests.get
或者直接下载网页源代码只能看到:
<div class="pagelist" id="pageArea">
<span class="tip">共有帖子数 <i>49787752</i> 篇</span>
<ul class="pagernums" data-pager="default_|49787752|80|3"></ul>
可以发现,<ul class="pagernums" data-pager="default_|49787752|80|3"></ul>
中间的代码消失了,请问是什么原因,如何解决。万分感谢!
因为内容是用JS动态加载的。这种情况只能去找JS调用的API,然后直接去抓API。当然也可以用
PhantomJS
之类的工具。