这是本站第一篇关于Python文章,也意味着我开始涉猎Python了,包括本站的HTTP Proxy也是学习过程中的产物罢了
项目地址:https://github.com/AlexMeiko/xz_spider
使用的库
lxml:这是一个用于解析XML格式数据的库,但也能用来解析HTML。
Requests:其宣传为"HTTP for Humans”,说明其使用相比于标准库中的"urllib模块"更为简洁方便。库的编写基于urllib模块,但urllib模块的API使用上相对来说让人感到并不是那么的友好,而Requests则可以节省大量工作,完全满足今日 web 的需求。
文档地址:https://docs.python-requests.org/zh_CN/latest/index.html
Multiprocessing:用于创建多个进程,同时对图片进行下载。相比于Threading,Multiprocessing更能充分的利用CPU的多核性能,这是因为其能让程序绕过GIL锁,去并行地处理程序。同时,在多线程上会发生的问题(如数据混淆、死锁等)在多进程上并不会发生。这是因为在多进程上,不同的进程直接的存储不共享,因此也就不会发生同时不同空间同时更改同一内存空间这一情况。
详细的Python多线程(Threading)和多进程的探讨请转至https://www.guwolf.com/archives/python-1.html
开始使用
克隆github仓库
git clone https://github.com/AlexMeiko/xz_spider
安装所需包(库)
pip3 install -r requirements.txt
使用vim等文本编辑器修改脚本内的参数
Threads:进程数
Start_Page:起始页
End_Page:结束页vi getxz.py
开始运行
python3 getxz.py
PS
爬取到的图片将在当前目录下的data/页数/里