python爬虫(三):校花图片爬取

图片和文字其实只有几个小地方是不同的,浏览器上每张图片都是通过一个url定位到的,且它是二进制文件。所以爬取过程和文字有一点点不同,,也就一点点。

 

这次爬取的网址是http://www.xiaohuar.com/2014.html。打开是不是发现里面有许多校花图片呢,没错,这次就是从爬取这些校花的图片并保存到自己磁盘中。

 

一、找规律

首先,你需要找到一张图片的url,怎么找呢?打开这个网站,按F12进入控制台界面。

先点击1处,再点击2处,就会发现3处有个url,这个就是这张图片的url地址了,你搜索这个url,即可看到图片。

在你多试探几次后,你会发现这些图片的url是由规律的,它们只有一部分地方不同。所以你现在需要从你知道的网址,即http://www.xiaohuar.com/2014.html中找到每张图片的url,将图片爬取下来即可。

import requests
import re

# 起始url
first_url = "http://www.xiaohuar.com/2014.html"
# http响应
reponse = requests.get(first_url)
# 设置正确的编码
reponse.encoding = 'GBK'
# 获取文本信息
html = reponse.text
print(html)
# 找到所有的img的url
# src="/d/file/b14d5053e8f62f76ab4effe2d14aa419.jpg"
img_urls = re.findall(r'src="(/d/file/\w+\.jpg)"', html)
# \w匹配数字和字母后面接+匹配多个,,,全是数字就用\d

# 拼接出完整的url加上域名
img_num = len(img_urls)
for i in range(img_num):
    img_urls[i] = "http://www.xiaohuar.com%s" % img_urls[i]


# 下载
for img_url in img_urls:
    # 获取文件名,字符串分割,列表的索引最后一个/后的字符串
    img_file_name = img_url.split('/')[-1]
    img_data = requests.get(img_url).content  # 相当于reponse.content
    with open(img_file_name, "wb") as f:
        f.write(img_data)
    print(img_url)

运行之后,是不是发现文件夹中出现了许多图片文件呢,那么恭喜你,成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值