没有所谓的捷径
一切都是时间最平凡的累积

记一次python提取网页标签元素的坑

站长整理辛苦,觉得有用评论点个赞吧,若转载请注明出处。如果文章内容失效,请反馈给本站,谢谢!

最新在学习Python抓取网页时,遇到一个坑,同一个方法提取两个网页,有一个网页提取不到正确的信息。先贴原始的代码

url = 'https://xxxx.com/'
req = request.Request(url)
#设置cookie
cookie_str="xxxxxxxxxxxx"
req.add_header('cookie', cookie_str)
#设置请求头
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36')
resp = request.urlopen(req)
#resp.read().decode('unicode_escape')
rr=resp.read().decode('gbk')
getstr=BeautifulSoup(rr,'html.parser')
tr_list=getstr.select('tbody>tr')

tr_list这里获取不到正确的值,只有一行输出,明显不是正确的信息。

仔细查看核对了源码,确认是一样的,但确实有一个页面提取不到。只有上面所示一条不对的结果。

通过把getstr输出查看到问题,tbody马上就闭合了标签,但下面的tr又是正常输出的,所以结果只有一个。

后面查看了一些资料,用lxml解决。

getstr = BeautifulSoup(rr, 'html.parser')

换成

getstr=BeautifulSoup(rr,'lxml')

lxml插件需要安装。https://www.lfd.uci.edu/~gohlke/pythonlibs/ 到这里下载到本地,cmd到下载文件路径下执行,whl为具体下的文件名称。

pip install lxml-4.5.0-cp38-cp38-win_amd64.whl
» 本文链接地址:https://blog.mydns.vip/2698.html
» 如果喜欢可以: 点此订阅本站
赞(2) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@mydns.vip。文章观点不代表本站立场。本站原创内容未经允许不得转载,或转载时需注明出处:豫章小站 » 记一次python提取网页标签元素的坑
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

智慧源于勤奋,伟大出自平凡

没有所谓的捷径,一切都是时间最平凡的累积,今天所做的努力都是在为明天积蓄力量

联系我们赞助我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏