前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬取同样的网页,bs4和xpath抓到的结果不同?

Python爬取同样的网页,bs4和xpath抓到的结果不同?

作者头像
Python进阶者
发布2024-06-24 20:37:53
700
发布2024-06-24 20:37:53
举报

大家好,我是Python进阶者。

一、前言

前几天在Python白银交流群【沐子山树】问了一个Python网络爬虫的问题,问题如下:刚好遇到另外一个问题,请教下大佬。就是我爬取同样的网页,用xpath的时候会将图上这样的script标签里面的内容当成text取出来,但是用BS4就不会。导致两种方法取出来的text不一样。这种情况应该如何处理?

我可能想问的是:

1.存在这种差异是对的吗?确认不是我代码写错了?

2.纯技术上,如果Xpath的结果想去掉这段,bs4的结果想有这段应该如何处理?

二、实现过程

这里【瑜亮老师】给了个思路如下:

xpath是路径找值,不要就别在路径上写,或者用更加精确的路径(尽可能少用//)。当然也可以使用xp中的"排除"写法,例如://parent/node()[not(self::child2)],但这会让xp路径看起来比较复杂,代码可读性变弱。

刚入手的话不用纠结哪个更好,先练会一个,再练习另一个。其实爬虫中能让你上bs或xp还算是比较简单的静态页面。

bs,xpath二者选一个用熟,另一个会就行。re,json二者都要熟练 这其中re规则很多,更难一些,需要多练。json是相对而言最简单的,但json在静态网页上用不上。

顺利地解决了粉丝的疑问。

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Python正则表达式的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【沐子山树】提出的问题,感谢【Kimi】、【瑜亮老师】给出的思路,感谢【莫生气】等人参与学习交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、实现过程
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档