python用爬虫爬取电脑手机壁纸
发布时间:2022-10-24 14:55:58
1:首先要安装两个模块 requests 和 parsel。没有安装的先到pycharm里面安装,会有波浪线提示安装,没有pycharm的到python的安装目录打开scripts文件夹打开终端安装。
2:下面的代码是请求地址。最后我会把完整地代码放到最后
url = f'https://www.3gbizhi.com/wallMV/index_{page}.html'
3:这是请求头
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
4:请求链接,以及解决中文乱码的问题
response = requests.get(url = url,headers=header)
response.encoding = response.apparent_encoding
5:解析数据,以及拿到每个图片li
selector = parsel.Selector(response.text)
lis = selector.xpath('/html/body/div[5]/ul/li')
6:遍历数据,拿到每个原图的地址
for li in lis:
yuandu = li.xpath('./a[1]/@href').get()
7:重新请求原图地址,以及解析数据
html_data = requests.get(url=yuandu, headers=header).text
sel = parsel.Selector(html_data)
html_data = requests.get(url=yuandu, headers=header).text
sel = parsel.Selector(html_data)
9:请求原图地址
img_content = requests.get(url=img_src,headers=header).content
10:保存图片,这个图片路径要自己手动创建
with open("3G手机壁纸\\"+img_title+'.jpg',mode='wb') as f:
f.write(img_content)
print(img_title+' 正在下载。。。。。')
11:关掉所有的请求头
response.close() # 最后记得要把所有请求的响应关闭
12:接下来是完整地代码了
import requests
import parsel
for page in range(2,3):
url = f'https://www.3gbizhi.com/wallMV/index_{page}.html'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
response = requests.get(url = url,headers=header)
response.encoding = response.apparent_encoding
selector = parsel.Selector(response.text)
lis = selector.xpath('/html/body/div[5]/ul/li')
for li in lis:
yuandu = li.xpath('./a[1]/@href').get()
html_data = requests.get(url=yuandu, headers=header).text
sel = parsel.Selector(html_data)
img_title = sel.css('#showimg img::attr(alt)').get()
img_src = sel.css('#showimg img::attr(src)').get()
print(img_src)
img_content = requests.get(url=img_src,headers=header).content
with open("3G手机壁纸\\"+img_title+'.jpg',mode='wb') as f:
f.write(img_content)
print(img_title+' 正在下载。。。。。')
response.close() # 最后记得要把所有请求的响应关闭
13:最后送上效果图
说明!!!!!
本次代码仅提供学习参考。切勿用于非法用途。不要
一次性爬很多,如果导致网站的服务器崩了是要负法律责任的。
少量的还是可以,切记不要爬多了。
如果不能使用或者不知道使用的
可以找我看看是哪里出的问题