用python3从网页中爬取图片下载到本地

前提:使用的python是python3版本,2和3还是有很大的区别的。

1、先找一个有图片的网页(这里找到的是新浪:http://photo.sina.com.cn)。右键,选择最后一个检查,就可以看到网页的源代码。然后是图片的都是在标签()中。
urllib.request是爬取网页时需要用到的一个库,re是正则匹配的一个库。
具体可以参考一下这篇文章:
https://blog.youkuaiyun.com/duxu24/article/details/77414298

import urllib.request,re

f=urllib.request.urlopen("http://photo.sina.com.cn")
source = f.read()
source = source.decode('utf-8')
#先将截取的目标代码取下来
print(re.search(r'(<img src=\")(.*)(\")',source))

在这里插入图片描述
可以看到是这样的输出,但是我们的目的是只选取蓝色的部分
改进

import urllib.request,re

f=urllib.request.urlopen("http://photo.sina.com.cn")
source = f.read()
source = source.decode('utf-8')
# print(source)
res = re.search(r'(<img src=\")(.*)(\")
Python爬取网页中的图片通常需要使用一些网络请求库(如requests)和解析HTML的库(如BeautifulSoup或lxml)。以下是一个简单的步骤: 1. **安装必要的库**: 首先确保已经安装了 `requests` 和 `beautifulsoup4` 或 `lxml`。如果没有,可以使用pip安装: ``` pip install requests beautifulsoup4 ``` 2. **获取网页源码**: 使用requests库发起GET请求获取网页内容: ```python import requests url = &#39;http://example.com&#39; response = requests.get(url) page_content = response.text ``` 3. **解析HTML**: 使用BeautifulSoup解析HTML,找到所有的img标签,它们通常包含图片链接: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(page_content, &#39;html.parser&#39;) img_tags = soup.find_all(&#39;img&#39;) ``` 4. **提取图片链接**: 从每个img标签中提取出src属性,这就是图片的实际URL: ```python image_links = [img[&#39;src&#39;] for img in img_tags] ``` 5. **下载图片**: 使用`requests`再次对每个链接发起请求,并将图片保存到本地: ```python import os if not os.path.exists(&#39;images&#39;): os.makedirs(&#39;images&#39;) for link in image_links: response = requests.get(link, stream=True) with open(os.path.join(&#39;images&#39;, os.path.basename(link)), &#39;wb&#39;) as f: for chunk in response.iter_content(1024): f.write(chunk) ``` 6. **处理异常**: 确保在请求过程中处理可能出现的网络异常或其他错误。 这只是一个基本示例,实际应用中可能还需要考虑代理设置、验证码识别、反爬虫策略等问题。如果你只关心特定页面的图片,也可以直接在URL中指定页面路径,而不是整个网站。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值