1. Python爬虫框架介绍
利用Python的基础网络包开发爬虫是比较麻烦的,市面上有很多基于这套API开发的爬虫框架,大大的简化了Python爬虫的开发
比较知名的是Scrapy ['kreipi] 和PySpider ['spaɪdə]。
PySpider上手更简单,操作更加简便,增加了 WEB 界面,开发效率高,集成了phantomjs,可以用来处理复杂的js渲染的页面。
Scrapy自定义程度高,比PySpider更底层一些,适合学习研究,需要学习的相关知识多,不过自己拿来研究分布式和多线程等等是非常合适的。
2. PySplider安装配置
a. 安装pip
pip是python的包管理工具 类似RedHat里面的yum 通过pip可以快速下载安装python软件 隐藏了背后复杂的下载安装的过程
访问https://pypi.python.org/pypi/pip#downloads
下载pip安装包
解压pip-19.0.3.tar.gz
在该目录下执行 python setup.py install
将python安装目录下的Scripts配置到PATH环境变量
b. 安装phantomjs
phantomjs是一个浏览器内核程序,可以在爬虫开发过程中,模拟浏览器运行js,简化js处理过程
访问http://phantomjs.org/download.html
下载对应版本phantomjs
解压phantomjs-2.1.1-windows.zip
将其bin目录配置到PATH环境变量中
c. 使用pip安装pyspider
pip install pyspider
可能遇到的问题:
Command "python setup.py egg_info" failed with error code 10 in C:\Users\Auser\AppData\Local\Temp\pip-build-57obphna\pycurl\
解决办法: 利用wheel安装对应的pycurl
1 安装wheel
pip install wheel
2 下载pycurl编译安装包
访问: Unofficial Windows Binaries for Python Extension Packages 下载对应python版本的编译包
我的python是32位27版本的 因此下载的是:pycurl-7.43.0.3-cp27-cp27m-win32.whl将文件放置在比较好找的目录下,我的是放置在D盘目录下,安装编译包
pip install d:\pycurl‑7.43.0‑cp36‑cp36m‑win32.whl
这样顺利安装好pycurl,在windows上面安装各种包行不通的,都可以尝试通过以上方法安装.
d. 运行pyspider
pyspider all
可能遇到的问题:
raise ValueError("Invalid configuration:\n - " + "\n - ".join(errors))
ValueError: Invalid configuration:
- Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.
解决方法:
在安装包中找到pyspider的资源包([python]\Lib\site-packages\pyspider\webui),然后找到webui文件里面的webdav.py文件打开,修改第209行即可。
把
'domaincontroller': NeedAuthController(app),
修改为:
'http_authenticator':{
'HTTPAuthenticator':NeedAuthController(app),
},
e. 通过浏览器访问pyspider
http://localhost:5000