盘点一个Python网络爬虫实战问题

大家好,我是皮皮。

一、前言

前几天在Python钻石交流群【海南菜同学】问了一个Python网络爬虫的选择器提取问题,下图是截图:

代码初步看上去好像没啥问题,但是结果就是不对。

1from lxml import etree 2import requests 3url = "http://zw.hainan.gov.cn/wssc/emalls.html" 4headers = { 5 "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" 6} 7html = requests.get(url,headers=headers) 8html = html.content.decode('utf-8') 9doc = etree.HTML(html) 10res = doc.xpath('/html/body/div[5]/ul/text()') 11print('*-*--'*20) 12for item in res: 13 print(type(item)) 14 print(item[0]) 15 16print('*-*--'*20)

初步判断是xpath写得有问题。

二、实现过程

这里【猫药师Kelly】确认了需求,如下所示:

修改提取规则,运行之后可以顺利得到预期的文本:

运行之后,可以得到想要的结果:

后来粉丝就顺利地解决了,代码如下所示:

1import requests 2url = "http://zw.hainan.gov.cn/wssc/emalls.html" 3headers = { 4 "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" 5} 6html = requests.get(url,headers=headers) 7html = html.content.decode('utf-8') 8doc = etree.HTML(html) 9res = doc.xpath('.//div/ul/li/a[2]/text()') 10print('*-*--'*20) 11for item in res: 12 print(type(item)) 13 print(item) 14 15print('*-*--'*20)

网络爬虫的时候,记得养成好习惯,加请求头啊!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python网络爬虫的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【海南菜同学】提问,感谢【dcpeng】、【猫药师Kelly】、【薄荷味的鱼】给出的思路和代码解析,感谢【人间欢喜】、【此类生物】、【甯同学】等人参与学习交流。

点赞
收藏

评论区

加载中...

相关推荐

这两个键的值怎么调整不报错呀?

大家好,我是皮皮。一、前言前几天在Python钻石交流群【胡韩】问了一个Python网络爬虫的问题,提问截图如下:二、实现过程这里【薄荷味的鱼】、【🌑中华小矿工】、【磐奚鸟】都提示加引号试试,如下图所示:构造参数的时候,这个是字符串,数字不支持这么写,加个引号之后,就可以完美解决问题了。三、总结大家好,我是皮皮。这篇文章主要盘点了一个Python二鲁普

盘点一个Python网络爬虫过程中中文乱码的问题

大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Python网络爬虫中文乱码的问题,提问截图如下:原始代码如下:importrequestsimportparselurl'https://news.p2peye.com/article5147231.html'headers'AcceptLanguage':'zhCN,zh;q

练习爬虫,我想问一下这个xpath语句为啥找不到元素,感谢大佬!

大家好,我是皮皮。一、前言前几天在Python钻石交流群【萤火】问了一个Python网络爬虫的问题,下图是截图:下图是报错截图:二、实现过程这里【error】给了一个代码,如下所示,满足粉丝的需求:用selenium没找到的话,大概率是网页还没渲染出来,代码就运行到了抓取规则,所以抓不到。其实他的匹配规则是可以拿到数据的,只不过用jupyter运行sel

分享Python网络爬虫过程中编码和解码的一个库

大家好,我是皮皮。一、前言前几天在Python白银钻石群【海南菜同学】问了一个Python编码的问题,提问截图如下:原始代码如下:/showcontract.html?back%2Fwssc%2Fcontracts.html&contractid100934编码截图如下图所示:二、实现过程一开始以为不是编码,后来【此类生物】直接看出来了,太强了。其实关于

盘点Python网络爬虫过程中xpath的联合查询定位一个案例

大家好,我是皮皮。一、前言前几天在Python钻石交流群【髙鵬】问了一个Python网络爬虫的问题,提问截图如下:原始代码如下:importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBydriverwebdriver.Chrome()drive

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

大家好,我是皮皮。一、前言前几天在Python白银交流群【肉丸胡辣汤】问了一个Python网络爬虫和可视化的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_images/262