最近爬虫比较火,我通过python3实现了一下基本的图片爬虫,当然也适用于文字等爬虫,代码非常简单,只有12行的代码量。接下来介绍一下怎么实现的。
首先介绍一下简单的单个网页怎么爬图片。
首先你要找到一个要爬虫的网页,比如我要在http://www.nipic.com/design/renwu/mingxing/index.html网页上爬图片,打开网站后,打开开发者模式,观察一下每张图片有什么相似处。
找到了图片地址的相似处就可以开始写了。
import requests;
import re;#正则表达式模块
url='http://www.nipic.com/design/renwu/mingxing/index.html';
response = requests.get(url); # 的到网页的源码
html = response.text; # 将源码转成文本
img_urls = re.findall(r'http://pic194\.nipic\.com/pic/\w+\.jpg', html); # 找到的就是正则匹配出来的东西
for img_url in img_urls:
response_img = requests.get(img_url);
img_data = response_img.content; # 二进制信息
pic_name = img_url.split('/')[-1];
with open(pic_name, 'wb') as f:
f.write(img_data);
接下来介绍一下怎么爬某一个网站的图片。
首先你还是要找到一个要爬虫的网站,比如我要在http://www.netbian.com/网站上爬图片,打开网站后,点分页标签,查看一下不同页的地址有什么关联,例如这个网站不同页都是http://www.netbian.com/index_的格式的地址。
然后打开开发者模式,观察一下每张图片有什么相似处。
import requests;
import re;#正则表达式模块
url='http://www.netbian.com/index_%s.htm';
for i in range(1,50):
temp_url=url%i;
response = requests.get(temp_url); # 的到网页的源码
html = response.text; # 将源码转成文本
img_urls = re.findall(r'http://img\.netbian\.com/file/\d{4}/\d+/\w+\.jpg', html); # 找到的就是正则匹配出来的东西
for img_url in img_urls:
response_img = requests.get(img_url);
img_data = response_img.content; # 二进制信息
pic_name = img_url.split('/')[-1];
with open(pic_name, 'wb') as f:
f.write(img_data);