爬虫者的贴心助手
Project description
更新历史
- 新增
jsonp2json
静态方法 - 爬虫
默认保持会话
状态 - 新增
get_uuid
、base64加解密
静态方法 - 删除
download_text
、download_bdata
,合并为download
- 新增
update_default_headers
方法 make_md5
支持字符串
、二进制
参数,并且可以加盐send
方法加入delay
参数,请求时可以设置延迟- 新增
tools
包、spiders
包 线程池管理者
加入上下文,可以使用with
了- 新增
get_results
方法,获取所有fs
的返回值 - 可以
提前
在send方法之前自定义延迟、超时
- 线程池管理者新增
running
方法,可以用于判断任务状态 send
方法加入详细注释
- 新增
todos
方法、tools改为utils done
加入func_name参数,可以定位到具体是哪一个线程函数
出现异常WaitPool
、SpeedPool
- 一些参数的变化(改名、补充注解)
- 加入了一些装饰器函数
项目说明
- 基于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
Release history Release notifications | RSS feed
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.5.tar.gz
(9.6 kB
view details)
File details
Details for the file wauo-0.6.5.5.tar.gz
.
File metadata
- Download URL: wauo-0.6.5.5.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fe48587c6cc12c14f01c9940aa40f3b7576657369960b5abb4fe6cc533509b7 |
|
MD5 | 15d2e8fab1d6448d376042f720ea9760 |
|
BLAKE2b-256 | 3bd9fd3ee7f6ea2ad1b552ea085a9c4de610038785d7b205b9ddf7aa85d52570 |