Python爬取百度图片(支持关键词搜索)

该博客详细介绍了如何使用Python实现百度图片的爬取,包括设置请求头、处理Cookie、解析JSON响应、下载图片等内容。通过定义Crawler类,实现了分页爬取并保存图片的功能,同时支持命令行参数自定义关键词、总页数、起始页和每页图片数量。
摘要由CSDN通过智能技术生成
import argparse         #用于命令项选项与参数解析
import os               #整理文件和目录
import re               #正则表达式  进行文字匹配
import sys              #argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。
import urllib
import json
import socket
import urllib.request   #制定url,获取网页数据
import urllib.parse     #将url解析为组件
import urllib.error     #可以捕获由 urllib.request 产生的异常。
import time             # 设置超时

timeout = 5
socket.setdefaulttimeout(timeout)  #防止爬虫爬取某个页面时间过长,导致程序卡置不前

class Crawler:
    __time_sleep = 0.1  # 睡眠时长
    __amount = 0
    __start_amount = 0
    __counter = 0
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0', 'Cookie': ''}
    #模拟浏览器头部信息,向服务器发送消息
    __per_page = 30

    # 获取图片url内容等
    # t 下载图片时间间隔
    def __init__(self, t=0.1):
        self.time_sleep = t

    @staticmethod
    def get_suffix(name):
        m = re.search(r'\.[^\.]*$', name)
        if m.group(0) and len(m.group(0)) <= 5:
            return m.group(0)
        else:
            return '.jpeg'
                                 # 获取后缀名
    @staticmethod
    def handle_baidu_cookie(original_cookie, cookies):
        """
        :param string original_cookie:
        :param list cookies:
        :return string:
        """
        if not cookies:
            return original_cookie
        result = original_cookie
        for cookie in cookies:
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值