1.python爬取百度图片原图

本文详细介绍了如何使用Python进行网络爬虫,针对百度图片进行原图的抓取。通过设置请求头和解析HTML,成功获取到高清图片链接,并在Windows环境下下载保存。适合初学者了解爬虫的基本步骤和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试了几个网上的爬虫示例,改编了一下,可以爬取百度图片的原图,示例:Python3.6.0,Win7环境,chrome浏览器,命令行cmd需要用管理员身份运行,完整代码如下:
注意:图片下载路径,是浏览器的默认下载路径,可以自行更改


#coding=gbk
import time
from splinter import Browser
import traceback

class Crawler:
    def __init__(self):
        #url,是百度图片搜索的路径,我这里搜索的是“仙剑”
        self.url="https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E4%BB%99%E5%89%91&step_word=&hs=0&pn=0&spn=0&di=148219565890&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=618397702%2C431402105&os=1428570058%2C3622471812&simid=0%2C0&adpicid=0&lpn=0&ln=1975&fr=&fmq=1514960095280_R&fm=index&ic=0&s=undefined&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Ff5.topit.me%2F5%2F83%2F1c%2F114508
Python爬取百度图库(或其他网站的图片)通常需要使用到一些库,比如requests、BeautifulSoup(用于解析HTML)和os(保存文件)。以下是基本步骤: 1. **导入所需库**: ```python import requests from bs4 import BeautifulSoup import os ``` 2. **发送GET请求获取网页内容**: ```python url = "https://image.baidu.com" # 百度图片搜索URL headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) ``` 3. **解析HTML**: ```python soup = BeautifulSoup(response.text, 'html.parser') image_links = soup.find_all('img', src=True) # 查找所有src属性的img元素 ``` 4. **检查权限并获取图片链接**: 需要注意的是百度图库的图片可能是有版权保护的,直接下载可能会存在问题。如果你有明确的使用许可,可以跳过这一步。通常需要处理防盗链问题,这里仅示例如何简单获取外链: ```python real_links = [link['src'] for link in image_links if 'http' in link['src']] ``` 5. **下载图片**: ```python if not real_links: print("No valid images found.") else: for i, img_link in enumerate(real_links): response = requests.get(img_link, stream=True) filename = f'image_{i}.jpg' # 或者从原URL提取信息作为文件名 with open(filename, 'wb') as f: for chunk in response.iter_content(1024): f.write(chunk) print(f"Downloaded {filename}") ``` 6. **保存图片**: 图片保存到本地目录,例如当前工作目录: ```python save_dir = "." if not os.path.exists(save_dir): os.makedirs(save_dir) ``` 7. **结束爬虫**: ```python # 结束循环 ``` 注意:在实际操作时,遵守网站的robots.txt规则和法律法规,尊重版权,不要频繁或过度访问服务器,以免造成压力甚至被封IP。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值