加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – BeautifulSoup只返回head标签内的内容

发布时间:2020-12-20 13:32:31 所属栏目:Python 来源:网络整理
导读:我正在使用BeautifulSoup,我或者想出了一个错误或错误.在我的例子中,我抓了纽约时报的一个子网站… import urllib2from bs4 import BeautifulSoupwebsite = "http://www.nytimes.com/pages/politics/index.html"data = BeautifulSoup(urllib2.urlopen(websit
我正在使用BeautifulSoup,我或者想出了一个错误或错误.在我的例子中,我抓了纽约时报的一个子网站…

import urllib2
from bs4 import BeautifulSoup
website = "http://www.nytimes.com/pages/politics/index.html"
data = BeautifulSoup(urllib2.urlopen(website).read())
print data

当我运行代码时,我会返回头标记以及其中的内容.但是,它不会抓取body标签内的内容.如果我要将网站网址更改为http://www.nytimes.com,则BS会返回整页来源.这里发生了什么,为什么我爬到http://www.nytimes.com/pages/politics/index.html时没有得到身体标签?

解决方法

这不是BeautifulSoup中的错误.问题实际上是因为bs4使用内置的HTMLParser,它对格式错误的HTML并不是很宽松,因为 W3C Markup Validation Service显示HTML确实是格式错误的,几乎没有未封闭,流浪和错位的TAGS导致HTMLParser和随后的BeautifulSoup突然停止解析.

以下针对BeautifulSoup提交的错误已解释此问题

BS4 stops parsing after malformed tag

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读