如何使用python百行代码实现汉服圈图片爬取
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍如何使用python百行代码实现汉服圈图片爬取,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!分析网站网址如下:https://www.aihanfu.com/z
千家信息网最后更新 2026年11月03日如何使用python百行代码实现汉服圈图片爬取
这篇文章主要介绍如何使用python百行代码实现汉服圈图片爬取,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
分析网站
网址如下:
https://www.aihanfu.com/zixun/tushang-1/
这是第一页的网址,根据观察,第二页网址也就是上述网站序号1变成了2,依次类推,就可以访问全部页数。
根据图示,我们需要获得每个子网站的链接,也就是href中网址,然后进入每个网址,寻找图片网址,在下载就行了。
子链接获取
为了获取上图中的数据,我们可以用soup或者re或者xpath等方法都可以,本文中小编使用xpath来定位,编写定位函数,获得每个子网站链接,然后返回主函数,这里使用了一个技巧,在for循环中,可以看看!
def get_menu(url, heades): """ 根据每一页的网址 获得每个链接对应的子网址 params: url 网址 """ r = requests.get(url, headers=headers) if r.status_code == 200: r.encoding = r.apparent_encoding html = etree.HTML(r.text) html = etree.tostring(html) html = etree.fromstring(html) # 查找每个子网址对应的链接, 然后返回 children_url = html.xpath('//div[@class="news_list"]//article/figure/a/@href') for _ in children_url: yield _获取标题和图片地址
为了尽量多的采集数据,我们把标签和图片地址采集一下,当然如果其他项目需要采集发布者和时间,也是可以做到多的,本篇就不再展开。
我们点开一个网址链接,如上图所示,可以发现标题在head的节点里面,获取标题是为创建文件夹时使用。
代码如下:
def get_page(url, headers): """ 根据子页链接,获得图片地址,然后打包下载 params: url 子网址 """ r = requests.get(url, headers=headers) if r.status_code == 200: r.encoding = r.apparent_encoding html = etree.HTML(r.text) html = etree.tostring(html) html = etree.fromstring(html) # 获得标题 title = html.xpath(r'//*[@id="main_article"]/header/h2/text()') # 获得图片地址 img = html.xpath(r'//div[@class="arc_body"]//figure/img/@src') # title 预处理 title = ''.join(title) title = re.sub(r'【|】', '', title) print(title) save_img(title, img, headers)
保存图片
在翻转每一页时我们都需要把子链接对应的图片保存下来,此处需要注意对请求的状态判断、路径判断。
def save_img(title, img, headers): """ 根据标题创建子文件夹 下载所有的img链接,选择更改质量大小 params:title : 标题 params: img : 图片地址 """ if not os.path.exists(title): os.mkdir(title) # 下载 for i, j in enumerate(img): # 遍历该网址列表 r = requests.get(j, headers=headers) if r.status_code == 200: with open(title + '//' + str(i) + '.png', 'wb') as fw: fw.write(r.content) print(title, '中的第', str(i), '张下载完成!')
主函数
if __name__ == '__main__': """ 一页一页查找 params : None """ path = '/Users/********/汉服/' if not os.path.exists(path): os.mkdir(path) os.chdir(path) else: os.chdir(path) # url = 'http://www.aihanfu.com/zixun/tushang-1/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' ' AppleWebKit/537.36 (KHTML, like Gecko)' ' Chrome/81.0.4044.129 Safari/537.36'} for _ in range(1, 50): url = 'http://www.aihanfu.com/zixun/tushang-{}/'.format(_) for _ in get_menu(url, headers): get_page(_, headers) # 获得一页至此我们已经完成了所有环节,关于爬虫的文章,小编已经不止一次的介绍了,一方面是希望大家可以多多熟悉爬虫技巧,另外一方面小编认为爬虫是数据分析、数据挖掘的基础。没有爬虫获取数据,何来数据分析。
以上是"如何使用python百行代码实现汉服圈图片爬取"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
网址
图片
链接
数据
标题
地址
爬虫
代码
函数
网站
分析
百行
一方
上图
个子
也就是
内容
技巧
数据分析
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑰夏咖啡
百单网互联网科技有限公司
湖北九亚互联网络科技有限公司
深圳市人人互联网科技有限公司
A股互联网金融科技公司
科技创新与互联网经济
智能科技公司是互联网公司吗
互联网科技英文
互联网科技公司怎么样
紫鲸互联网科技
融贸通互联网科技
福州新华互联网科技学校 知乎
成都互联网科技公司100强
受益于互联网科技的高速发展
互联网金融中的现代科技
互联网科技和法律行业
科技互联网海报
黑科技 体验场景 互联网大会
互联网公司高科技产品
互联网科技新闻
广州百单互联网科技有限公司
互联网 科技创业
嘟嘟瓜互联网科技
浩特互联网科技
互联网金融科技平台
互联网科技类展会
用友工业互联网科技发展
互联网科技大赛获奖感言
中国互联网有什么科技
四川互联网展示科技馆设计