Skip to main content

爬虫者的贴心助手

Project description

更新历史

  • 新增jsonp2json静态方法
  • 爬虫默认保持会话状态
  • 新增get_uuidbase64加解密静态方法
  • 删除download_textdownload_bdata,合并为download
  • 新增update_default_headers方法
  • make_md5支持字符串二进制参数,并且可以加盐
  • send方法加入delay参数,请求时可以设置延迟
  • 新增tools包、spiders
  • 线程池管理者加入上下文,可以使用with
  • 新增get_results方法,获取所有fs的返回值
  • 可以提前在send方法之前自定义延迟、超时
  • 线程池管理者新增running方法,可以用于判断任务状态
  • send方法加入详细注释
  • 新增todos方法、tools改为utils
  • done加入func_name参数,可以定位到具体是哪一个线程函数出现异常
  • WaitPoolSpeedPool
  • 一些参数的变化(改名、补充注解)

项目说明

  • 基于requests封装的一个爬虫类

Python解释器

  • python3.10+

如何使用?

开始导入

from wauo import WauoSpider

spider = WauoSpider()

请求

GET

  • 默认是get请求
url = 'https://github.com/markadc'
resp = spider.send(url)
print(resp.text)

POST

  • 使用了data或者json参数,则是post请求
api = 'https://github.com/markadc'
payload = {
    'key1': 'value1',
    'key2': 'value2'
}
resp = spider.send(api, data=payload)  # 使用data参数
resp = spider.send(api, json=payload)  # 使用json参数

响应

校验响应

1、限制响应码

  • 如果响应码不在codes范围里则抛弃响应(此时send返回None
resp = spider.send('https://github.com/markadc', codes=[200, 301, 302])

2、限制响应内容

  • 如果checker返回False则抛弃响应(此时send返回None
def is_ok(response):
    html = response.text
    if html.find('验证码') != -1:
        return False


resp = spider.send('https://github.com/markadc', checker=is_ok)

设置默认请求配置

  • 给headers设置Cookie
  • 给headers设置代理
  • 给headers设置认证信息
  • ...

例子1

  • 每一次请求的headers都带上cookie
from wauo import WauoSpider

cookie = 'Your Cookies'
spider = WauoSpider(default_headers={'Cookie': cookie})
resp1 = spider.send('https://github.com/markadc')
resp2 = spider.send('https://github.com/markadc/wauo')
print(resp1.request.headers)
print(resp2.request.headers)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wauo-0.6.5.4.tar.gz (8.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page