python3实现简单图片爬虫

最近爬虫比较火,我通过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);

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的requests和BeautifulSoup库来编写一个图片爬虫。首先,使用requests库发送HTTP请求获取网页内容,然后使用BeautifulSoup库解析网页内容,找到图片的URL地址,最后使用requests库下载图片并保存到本地。具体实现细节可以参考相关的Python教程和文档。 ### 回答2: 图片爬虫是指通过网络爬取各种图片资源的程序,而Python是一种非常适合网络爬虫开发的高级编程语言。下面我将以300字中文回答,如何用Python编写一个简单图片爬虫程序。 首先,我们需要使用Python中的第三方库requests来发送HTTP请求获取网页内容。然后,使用正则表达式或者BeautifulSoup等工具提取网页中的图片链接。 以下是一个简单的实例代码: import requests import re import os def download_images(url, save_dir): # 请求网页 response = requests.get(url) # 提取图片链接 img_urls = re.findall(r'<img.*?src="(.*?)"', response.text) # 保存图片 for img_url in img_urls: img_response = requests.get(img_url) img_name = img_url.split('/')[-1] # 获取图片的文件名 save_path = os.path.join(save_dir, img_name) with open(save_path, 'wb') as f: f.write(img_response.content) print('保存图片:', save_path) if __name__ == "__main__": url = 'http://example.com' # 网址 save_dir = 'images' # 图片保存目录 if not os.path.exists(save_dir): os.mkdir(save_dir) download_images(url, save_dir) 在代码中,我们首先定义了一个download_images函数,它接收一个url参数和一个save_dir参数,分别表示爬取的网址和图片保存的目录。函数首先发送GET请求获取网页内容,然后使用正则表达式提取图片链接。最后,将图片下载保存到指定的目录中。 在主程序中,我们调用download_images函数来爬取指定网址的图片,并指定保存的目录。如果目录不存在,我们使用os.mkdir函数创建该目录。 当然,这只是一个简单图片爬虫示例,实际的爬虫可能需要更复杂的处理逻辑和数据存储方式。但是通过这个例子你可以了解到如何利用Python编写一个简单图片爬虫程序。 ### 回答3: 爬取图片爬虫中常见的任务之一。Python作为一门功能强大且易于学习的编程语言,也可以很容易地编写一个图片爬虫。 下面是一个示例,使用Python的requests、beautifulsoup和urllib库来实现一个简单图片爬虫: ```python import requests from bs4 import BeautifulSoup import urllib # 定义目标网站的URL url = 'http://www.example.com' # 发送HTTP GET请求,获取网页内容 response = requests.get(url) # 使用BeautifulSoup解析网页内容 soup = BeautifulSoup(response.content, 'html.parser') # 找到所有的图片标签 img_tags = soup.find_all('img') # 遍历图片标签,提取图片URL并保存到本地 for img in img_tags: img_url = img['src'] # 如果图片URL是相对路径,需要拼接完整的URL if not img_url.startswith('http'): img_url = url + '/' + img_url # 使用urllib库下载图片到本地 urllib.request.urlretrieve(img_url, img_url.split('/')[-1]) ``` 以上代码使用requests库发送HTTP GET请求,获取网页内容。然后,使用BeautifulSoup库解析网页内容,找到所有的图片标签。接下来,遍历图片标签,提取图片的URL。如果图片URL是相对路径,使用urllib库拼接完整的URL。最后,使用urllib库下载图片到本地。 请注意,上述代码只是一个示例,具体的图片爬虫逻辑可能因网站结构的不同而有所变化。此外,爬取网站的图片可能涉及法律或伦理问题,请遵守相关规定并尊重他人的权益。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值