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

Python进阶者
• 阅读 476

大家好,我是皮皮。

一、前言

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

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

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

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

print('*-*--'*20)

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

二、实现过程

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

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

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

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

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

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

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

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

print('*-*--'*20)

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

三、总结

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

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

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
这两个键的值怎么调整不报错呀?
大家好,我是皮皮。一、前言前几天在Python钻石交流群【胡韩】问了一个Python网络爬虫的问题,提问截图如下:二、实现过程这里【薄荷味的鱼】、【🌑中华小矿工】、【磐奚鸟】都提示加引号试试,如下图所示:构造参数的时候,这个是字符串,数字不支持这么写,加个引号之后,就可以完美解决问题了。三、总结大家好,我是皮皮。这篇文章主要盘点了一个Python二鲁普
Python进阶者 Python进阶者
2年前
盘点一个Python网络爬虫过程中中文乱码的问题
大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Python网络爬虫中文乱码的问题,提问截图如下:原始代码如下:importrequestsimportparselurl'https://news.p2peye.com/article5147231.html'headers'AcceptLanguage':'zhCN,zh;q
Python进阶者 Python进阶者
2年前
练习爬虫,我想问一下这个xpath语句为啥找不到元素,感谢大佬!
大家好,我是皮皮。一、前言前几天在Python钻石交流群【萤火】问了一个Python网络爬虫的问题,下图是截图:下图是报错截图:二、实现过程这里【error】给了一个代码,如下所示,满足粉丝的需求:用selenium没找到的话,大概率是网页还没渲染出来,代码就运行到了抓取规则,所以抓不到。其实他的匹配规则是可以拿到数据的,只不过用jupyter运行sel
Python进阶者 Python进阶者
2年前
分享Python网络爬虫过程中编码和解码的一个库
大家好,我是皮皮。一、前言前几天在Python白银钻石群【海南菜同学】问了一个Python编码的问题,提问截图如下:原始代码如下:/showcontract.html?back%2Fwssc%2Fcontracts.html&contractid100934编码截图如下图所示:二、实现过程一开始以为不是编码,后来【此类生物】直接看出来了,太强了。其实关于
Python进阶者 Python进阶者
2年前
盘点Python网络爬虫过程中xpath的联合查询定位一个案例
大家好,我是皮皮。一、前言前几天在Python钻石交流群【髙鵬】问了一个Python网络爬虫的问题,提问截图如下:原始代码如下:importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBydriverwebdriver.Chrome()drive
Python进阶者 Python进阶者
2年前
盘点一个哔哩哔哩弹幕抓取并词云可视化的项目
大家好,我是皮皮。一、前言前几天在Python白银交流群【肉丸胡辣汤】问了一个Python网络爬虫和可视化的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_images/262
Python进阶者 Python进阶者
2年前
盘点一个Python网络爬虫+正则表达式处理案例
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【鑫】问了一个Python网络爬虫的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_images/2623
Python进阶者 Python进阶者
2年前
盘点一个高德地图Python网络爬虫中前端数据和获取数据不一致问题
大家好,我是皮皮。一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:!(https://uploadimages.jianshu.io/upload_images/26
Python进阶者 Python进阶者
1年前
提供一个网站的相关截图,麻烦提供一个思路如何爬取网站相关数据
大家好,我是皮皮。一、前言前几天在Python钻石交流群【空】问了一个Python网络爬虫的问题,一起来看看吧。给大家提供一个网站的相关截图,麻烦你们提供一个思路如何爬取网站相关数据,下图这里是数据区。页面数据存储在这里的json里。二、实现过程常规来说,
Python进阶者 Python进阶者
12个月前
页面的json数据浏览器无法访问,还有什么别的办法获取数据?
大家好,我是皮皮。一、前言前几天在Python钻石流群【空】问了一个Python网络爬虫的问题,一起来看看吧。问题描述:请教一个问题,页面的json数据浏览器无法访问,还有什么别的办法获取数据图片如下:这个问题看上去有点怪怪的。二、实现过程看上去代码倒是很