赞
踩
爬取目标网站的壁纸
1.首先打开开发者模式刷新页面,查看请求数据所需的url
2.图片网站打开图片会转入另外一个网站,并不是目的所想要的直接图片文件,这里还需要进行一些搜索查找操作。
- response = requests.post(url=url,headers=headers)
- href = re.findall('<li><a target="_blank" href="(.*?)"',response.text)[2:]
3.这里先获取post的信息,发现,列表中第三个元素是想要的目标url
4.打开url是转入另外的一个网站,这个网站中有目标所需爬取的图片文件
- img_url = re.findall('<img alt=".*?" title=".*?" src="(.*?)">',response_1.text)[0]
- img_content = requests.get(url=img_url, headers=headers).content
5.设置图片文件的img_url为请求url,这里怕取得是高清图,保存到名为img的文件夹中
6.接下来就是建立文件img,将爬取到的图片放入文件夹,用正则表达式取文件标题
7.完整代码
- import requests
- import re
- import os
-
- filename = 'img\\'
- if not os.path.exists(filename):
- os.mkdir(filename)
-
- def changer_title(name):
- new_name = re.sub(r'[\/\\\:\*\?\"\<\>\|]','_',name)
- return new_name
-
-
- url = 'https://m.bcoderss.com/tag/%e5%8a%a8%e6%bc%ab/page/2/'
- headers={
- 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0'
- }
- response = requests.post(url=url,headers=headers)
- href = re.findall('<li><a target="_blank" href="(.*?)"',response.text)[2:]
- for index in href:
- response_1 = requests.get(url=index, headers=headers)
- title = re.findall('<title>(.*?)</title>',response_1.text)[0]
- title = changer_title(title)
- img_url = re.findall('<img alt=".*?" title=".*?" src="(.*?)">',response_1.text)[0]
- img_content = requests.get(url=img_url, headers=headers).content
- with open(filename + title + '.jpg', mode='wb') as f:
- f.write(img_content)
- print(title, img_url)

8.爬取结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。