python用爬虫爬取电脑手机壁纸

发布时间:2022-10-24 14:55:58

1:首先要安装两个模块   requestsparsel。没有安装的先到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)

8:拿到图片的标题,和,图片的原图src

  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 requestsimport parselfor 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()        # print(yuandu)        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:最后送上效果图

说明!!!!!

 本次代码仅提供学习参考。切勿用于非法用途。不要

一次性爬很多,如果导致网站的服务器崩了是要负法律责任的。

少量的还是可以,切记不要爬多了。

如果不能使用或者不知道使用的

可以找我看看是哪里出的问题

内容来自网络或网友投稿,如有侵犯您的权益,请发邮件至wyl860211@qq.com,我们将在第一时间予以删除处理。