python 的urllib.open(url)获取不到<pre>..</pre>标签内容

Dyllian 发布于 2013/05/10 22:40
阅读 2K+
收藏 0

import urllib

import urllib2

html_src = urllib.urlopen('http://www.ncbi.nlm.nih.gov/nuccore/NR_001564').read()

html_src2 = urllib2.urlopen('http://www.ncbi.nlm.nih.gov/nuccore/NR_001564').read()

也使用过Pyquery,其他标签都能获取得到,浏览器中也能看到全部标签代码,但就是用上诉代码获取不到网页上的<pre>...</pre>

其中获取到的<div id="viewercontent1" class="seq gbff" val="383087740" SequenceSize="19296" VirtualSequence="display :block"></div>也变为:

<div id="viewercontent1" class="seq gbff" val="383087740" SequenceSize="19296" VirtualSequence=""></div>

少了"display :block"。

1.不知道为什么?本人初学网页抓取,请教各位高手如何才能获取<pre>..</pre>的内容。

2.对网页抓取我也发现有很多的库,哪个库最合适,最常用?谢谢

加载中
0
neverno
neverno

建议用beautifulsoup这些成熟的库分析HTML。

就浏览器查看源代码也没发现你那个display:block,还有<pre>标签。

Dyllian
Dyllian
回复 @neverno : 好的,非常感谢!
neverno
neverno
回复 @Dyllian : 我用chrome看源码也没发现pre标签~可能页面涉及一些动态加载。
neverno
neverno
回复 @Dyllian : 在css中display属性的值block是块状的意思,虽然有点不沾边,但既然涉及网页,基础的网页知识还是需要了解一下的,包括CSS。
Dyllian
Dyllian
网页源码中这个VirtualSequence="display :block"参数block应该是阻塞的意思吧,是否理解为参数设置后代码无法显示或者无法提取了
Dyllian
Dyllian
嗯,谢谢!其实我也用过BeautifulSoup,但是用BeautifulSoup处理之前先获得网页源码,网页源码还是需要urllibopen获得,当urllibopen获得网页源码时,已经没有了pre标签。我用谷歌浏览器看的源码,有pre,不知道怎么解决用urllibopen获得完整网页源码问题
0
红色自行车
红色自行车
您好,不知您的问题解决了吗,我也是碰到类似情况,如果解决能否参考一下,QQ:1933017497 谢谢
返回顶部
顶部