爬取网站数据,并保存到当前data目录下
Project description
SpiderXFramework
爬取网页数据框架,并保存到data目录里的excel文件;
- 支持自定义请求、解析网页
- 支持指定时间窗口内的爬取速度控制:匀速爬取、最快爬取
- 支持爬取失败时进行重试和延迟
- 支持自动打开数据excel文件
- 支持自动发送email
- 支持自动发送企业微信
使用说明
首次运行后会生成配置文件config.py,配置如下(最新参考config_def.py):
- LOG_LEVEL:日志等级,例如:"debug"、"info"、"warning"、"error"、"fatal"
- BASE_URL: 爬取网页的地址,例如:"https://movie.douban.com"
- MAX_PAGE:爬取最大的页数,例如:10
- MAX_THREADS:同时爬取页面的线程数,不宜过多以免被反爬虫,5-10比较合适
- RETRY_TIMES:网络请求失败时的重试次数,例如:5
- RETRY_DELAY_MS:请求失败后重试的延迟,单位毫秒,例如5000
- INTERVAL_MINUTES:是否定时爬取网页,0:只爬取1次;>0:爬取时间间隔,单位为分钟,例如设为1表示每1分钟爬取一次
- RATE_LIMIT_TIME_WINDOW:限流相关参数,时间窗口,单位ms,例如20 * 1000
- RATE_LIMIT_COUNT:时间窗口范围内最多执行网络请求次数,例如30
- DATA_SAVE_PATH:爬取到的数据文件保存路径,备份文件也保存同目录下
- COPY_SAVE_PATH:有时想拷贝一份数据到其他目录,可设置COPY_SAVE_PATH。原始文件保存在MOVIE_SAVE_PATH。例如:r"D:/data.xlsx"
- PUSH_NOTIFICATION:爬取完成后是否进行消息推送
- ENABLED:True、False
- PUSH_CHANNEL:推送渠道,支持打开本地文件、email、企业微信
- OPEN_FILE:爬取完成后是否自动打开本地数据文件,True、False
- EMAIL:
- ENABLED:爬取结束后是否自动发送邮件:True、False
- SMTP_SERVER:发送邮件的smtp服务器,例如:"smtp.163.com"
- FROM_ADDR:发送时使用的发送者邮箱地址,例如:"sender@163.com"
- AUTH_CODE:发送时使用的发送者邮箱的授权码,例如:"TPn8tKfF45612345"
- TO_ADDR:发送给谁的邮箱地址,例如:"receiver.163.com"
- WECOM:
- ENABLED:爬取结束后是否自动发送企业微信消息:True、False
- WEBHOOK_KEY:企业微信的群机器人的webhook的key值,程序将通过该机器人发送消息,可查看手机端企业微信-某个群-设置-机器人,例如:"ce57445a-ba75-4e6c-9200-41687b1cfdef"
- CUSTOM:自定义配置参数,后续可用于框架和二次开发时使用
- PARAM1:用户自定义参数PARAM1
项目说明
执行依赖安装
pip install -r requirements.txt
依赖固化
pip freeze > requirements.txt
打包模块
- pip install build
- rmdir /S /Q "dist" "src\SpiderX_Framework.egg-info" & python -m build
打包exe
cd pyinstaller & python.exe .\pyinstaller_custom.py & cd ..
发布模块到pypi
- pip install twine
- python -m twine upload --repository pypi dist/*
- 输入用户名和API Token。
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
spiderx_framework-0.2.0.tar.gz
(20.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spiderx_framework-0.2.0.tar.gz.
File metadata
- Download URL: spiderx_framework-0.2.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb45d4b45e231d27b23f4995a5c952bbe10d42885fae140eb4a1c83e2bc4a83f
|
|
| MD5 |
cd3a87ce0d989a02b446b7637eda11fa
|
|
| BLAKE2b-256 |
757a442f782d44fb8e6990deda0647459dc20b5b23a5cf0551279b066e595283
|
File details
Details for the file spiderx_framework-0.2.0-py3-none-any.whl.
File metadata
- Download URL: spiderx_framework-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28233f45007c29923e0e134a00f640970942022d21f8a38108a86f52b4648c3a
|
|
| MD5 |
c60f13345997a5af1562324fca15725f
|
|
| BLAKE2b-256 |
19a8dd1f8e63091a2db8baeb3c113c096dd711364aaad5b25790789f6c450c5b
|