python-我无法获取HTML页面的完整源代码
作者:互联网
我想使用Python来爬网网页上的数据,该网页的来源如果很大(它是某个用户的Facebook页面).
假设该网址是我要抓取的网址.我运行以下代码:
import urllib2
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()
数据应该包含我正在爬网的页面的源,但是由于某些原因,它不包含当我直接与页面的源进行比较时可用的所有字符.我不知道我在做什么错.我知道我要爬网的页面最近没有更新,因此不是由于我缺少一些最新数据.
有人有线索吗?
编辑:我所缺少的信息种类是:
<code class="hidden_elem" id="up82eq_33"><!-- <div class="mbs profileInfoSection"><div class="uiHeader uiHeaderTopAndBottomBorder uiHeaderSection infoSectionHeader"><div class="clearfix uiHeaderTop"><div><h4 tabindex="0" class="uiHeaderTitle">Basic Information</h4></div></div></div><div class="phs"><table class="uiInfoTable mtm profileInfoTable uiInfoTableFixed"><tbody><tr><th class="label">Networks</th><td class="data"><div class="uiCollapsedList uiCollapsedListHidden" id="up82eq_32"><span class="visible">XXXX</span></div></td></tr></tbody></table></div></div> --></code>
基本上,这是我感兴趣的某个领域.令我惊讶的是,我可以得到一些领域,但不是全部.
解决方法:
Facebook高度以Javascript为导向.在运行任何JS代码之后,您在浏览器中看到的页面源就是DOM(无论如何页面源经常都会改变).您可能必须使浏览器自动化(使用Selenium),或者尝试使用其他工具(例如机械化…),或者研究适当的FB应用程序并使用FB API.
标签:python,web-crawler 来源: https://codeday.me/bug/20191011/1895747.html