使用python简单编写爬取图片

步骤:
1.爬取源代码
2.获得图片链接
3.下载图片

安装一下requests然后调用,接下来我们获取一下网站的源代码

import requests

url = "http://www.yangzixuanyzx.cn/anli/"
response = requests.get(url)
print(response.text)

可以看到乱码了,设置为编码utf-8

response.encoding = 'utf-8'

接下来获取图片的链接,打开f12来查看图片的地址有没有规律
在这里插入图片描述
都在/uploads/allimg/的目录下

/uploads/allimg/160614/1-1606141521200-L.png
/uploads/allimg/200708/seo1.jpg

使用re模块来通过正则匹配网站源代码中的图片地址

import requests
import re

url = "http://www.yangzixuanyzx.cn/anli/"

response = requests.get(url)
response.encoding = 'utf-8'
html = response.text

himg = re.findall("/uploads/allimg/\w{0,9}/..\w{0,15}.{0,9}[jpg|png]",html)
print(himg)

但是现在只有绝对路径还要拼接一下网址

import requests
import re

pinjie = []
url = "http://www.yangzixuanyzx.cn/anli/"

response = requests.get(url)
response.encoding = 'utf-8'
html = response.text

himg = re.findall("/uploads/allimg/\w{0,9}/..\w{0,15}.{0,9}[jpg|png]",html)
for i in himg:
    pinjie.append(url + ".." + i)

print(pinjie)

拼接完后,通过写入的方式来到达下载的效果,用循环来重命名图片,保存到D盘的文件夹1中(提前在D盘创建一下)在这里插入图片描述
完整的代码:

import requests
import re
import os

pinjie = []
shuzi = 0
url = "http://www.yangzixuanyzx.cn/anli/"

response = requests.get(url)
response.encoding = 'utf-8'
html = response.text

himg = re.findall("/uploads/allimg/\w{0,9}/..\w{0,15}.{0,9}[jpg|png]",html)
for i in himg:
    pinjie.append(url + ".." + i)

for img in pinjie:
    shuzi += 1
    with open("D:\\1\\"+str(shuzi) + ".jpg",'wb') as f:
        f.write(requests.get(img).content)
    print(os.path.basename(img) + "保存成功")
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值