Python爬虫实战之四:requests-网络图片获取及保存

本实战项目是中国大学MOOC国家精品课程《Python网络爬虫与信息提取》(by 嵩天 北京理工大学)学习笔记。代码段均可在ide中运行by now(2021-12-02).

1.爬取目标

爬取中文版国家地理杂志某张图片并保存在本地电脑上。

2.爬取链接

https://www.natgeo.com.cn/pic/program_default.768.jpg

3.技术路线

requests+os

python的os模块主要用于访问操作系统功能的模块,主要应用场景是目录的增删改查。

本例需要将图片下载到自己的电脑中,需要在下载前需创建文件目录用以接受文件。

4.全代码及输出模块

# 图片爬取全代码
import requests
import os 
url = 'https://www.natgeo.com.cn/pic/program_default.768.jpg'
root =  'D://pic//'
path = root + url.split('/')[-1]
print(path)
try:
    if not os.path.exists(root):
#         判断根目录是否存在,不存在则创建
        os.mkdir(root)
#         print(root)
    if not os.path.exists(path):
#         判断path是否存在,不存在则用get获取url内容(图片)
        r = requests.get(url)
        with open(path,'wb') as f:
            f.write(r.content)
            f.close()
            print('文件保存成功')
    else:
        print('文件已存在')
except:
    print('爬取失败')

运行结果

 

 5.总结

本案例难度不大,代码框架在图片保存项目中有普适性。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
网络爬虫是指通过网络技术自动化地抓取互联网上的信息,常见的应用包括数据采集、搜索引擎、价格比较、舆情监控等。Python是一种非常适合用于编写网络爬虫的编程语言,因为它具有简单易学、语法清晰、强大的第三方库等优点。 下面是一个简单的Python网络爬虫实战示例,它可以爬取指定网站的所有图片保存到本地: ```python import requests from bs4 import BeautifulSoup import os url = 'https://www.example.com' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') img_folder = 'images' if not os.path.exists(img_folder): os.makedirs(img_folder) for img in soup.find_all('img'): img_url = img.get('src') if not img_url.startswith('http'): img_url = url + img_url img_name = img_url.split('/')[-1] img_path = os.path.join(img_folder, img_name) with open(img_path, 'wb') as f: f.write(requests.get(img_url).content) print('Saved:', img_path) ``` 这个示例中,我们使用requests库发送HTTP请求获取网页内容,使用BeautifulSoup库解析网页HTML代码,然后遍历所有图片标签,获取图片URL并下载保存到本地。同时,为了防止被网站屏蔽,我们设置了User-Agent请求头伪装成浏览器访问网站。 当然,网络爬虫还有很多其他的应用和技术,例如反爬虫机制、代理IP、分布式爬虫等。这些都需要具备一定的编程和网络知识,同时也需要遵守相关的法律和道德规范。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

miracle2me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值