大家好,我是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】、【瑜亮老师】给出的思路,感谢【莫生气】等人参与学习交流。
本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!