调用函数find()beautifulsoup时结果不完整

2024-03-28 15:04:10 发布

您现在位置:Python中文网/ 问答频道 /正文

为了研究的目的,我试图爬过这个url,但是我得到了一个不完整的结果:

opener = urllib.request.build_opener()
opener.addheaders = [('User-Agent', 'Mozilla/5.0')]
response = opener.open(url)
soup = BeautifulSoup(response, 'html.parser')
article = soup.find("div", { "class" : "entry" })
print(article)

结果是:

<div class="entry">
<header><strong>Racial Forensics in an Age of Race Denial</strong></header></div>

但当我查看页面的代码源代码时,我可以看到更多:

<div class="entry">
<header><strong>Racial Forensics in an Age of Race Denial</strong></p>
</header>
<p>Austen Layard<br/>
<a href="http://www.theoccidentalobserver.net/2014/01/racial-forensics-in-an-age-of-race-denial/"><strong>Occidental Observer</strong></a><br/>
February 3, 2014</p>
....
</div>

这个URL和我处理过的很多其他URL之间的区别在于标记header的存在。你知道吗

那是我问题的根源吗? 如何检索标记div的全部内容?你知道吗


Tags: ofindivanurlresponsearticleopener
2条回答

让listner在服务器启动时设置以下系统属性

System.setProperty("jettison.mapped.typeconverter.class"
                  ,"org.codehaus.jettison.mapped.SimpleConverter");

一旦属性设置为simpleConverter,那么不管数据类型是string还是int,都会将值始终作为string输出

这似乎是抛弃的一个隐含“特征”;它试图反思实际数据,找出最适合的类型。我以前也遇到过这件事,很恼火

我强烈建议彻底抛弃,改用RestEasy Jackson supportJackson是一个质量好得多的库,并且不会受到这些“有用”特性的影响。它也像抛弃一样

相关问题 更多 >