爬取百度图片 2021-06-21

爬取百度图片

import os
import re

import requests


def downloadJpg(KeyWord, page, saveAdr=r'D:\爬取百度图片'):
    try:
        os.makedirs(fr'{saveAdr}\{KeyWord}')
    except:
        pass
    headers_Chrome = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36',
    }
    count = 0
    for p in range(1, page + 1):
        pn = p * 30
        url = fr'https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8182938565380378412&ipn=rj&ct=201326592&is=&fp=result&queryWord={word}&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&hd=&latest=&copyright=&word={word}&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&nojc=&pn={pn}&rn=30&gsm=3c&1624250554413='
        webData = requests.get(url=url, headers=headers_Chrome)
        imagUrls = re.findall('"thumbURL":"(.+?)"', webData.text)
        for url in imagUrls:
            try:
                count += 1
                print(url)
                r = requests.get(url, headers=headers_Chrome)
                with open(rf'{saveAdr}\{KeyWord}\{KeyWord}-{count}.jpg', "wb") as code:
                    code.write(r.content)
            except Exception as e:
                print(f'错误 ---> {e}')
                return False
    print('全部下载完成 --> ')


if __name__ == '__main__':
    word = input('请输入你需要下载的内容(关键词):')
    pa = eval(input('请输入你需要下载的页数(30/页):'))
    downloadJpg(word, pa)

PyCharm是一个流行的Python IDE(集成开发环境),而爬取百度图片通常涉及到Python编程语言和相应的网络爬虫库。以下是使用Python在PyCharm中爬取百度图片的基本步骤: 1. 安装必要的Python库:在PyCharm中打开终端,使用pip安装requests库和BeautifulSoup库,这两个库可以帮助你发送网络请求和解析HTML页面。 ``` pip install requests pip install beautifulsoup4 ``` 2. 分析目标网站:在浏览器中打开百度图片,使用开发者工具(通常可以通过按F12打开)来分析图片的加载过程,找到图片加载的API或者图片资源的URL模式。 3. 编写爬虫代码:在PyCharm中创建一个新的Python文件,编写代码以发送网络请求并获取数据。使用requests库向百度图片发送GET请求,并获取响应内容。然后使用BeautifulSoup解析响应的HTML内容,从中提取图片的URL。 4. 下载图片:对于获取到的图片URL,可以再次使用requests库发送GET请求,并将响应的内容写入到本地文件中,实现图片的下载。 5. 异常处理和日志记录:在实际编写爬虫时,应当考虑到网络请求可能发生的异常情况,并做好相应的错误处理。同时,记录日志有助于监控爬虫的运行状态和调试。 6. 遵守法律法规和网站规则:在进行网络爬取时,务必遵守相关法律法规,尊重目标网站的robots.txt规则,避免对网站服务造成过大压力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有点心急.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值