python爬虫爬取付费下载的图片

爬取目标网站的壁纸

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.爬取结果

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值