软件开发好文选

Python爬虫与mac下Scrapy配置

2015-12-16  本文已影响2259人  栋栋晓

用Python开发爬虫很方便。

本质:抓取---分析---存储

要点:

(1)get请求:最基本抓取。用到 urllib  urllib2  requests  httplib2 。

(2)表单登陆:向服务器发送post请求,服务器再将返回的cookie存入本地

(3)使用cookie登陆:

(4)对于反爬虫机制的处理:

使用代理:限制IP地址情况,可解决由于频繁点击而需要输入验证码登陆的情况

时间设置:限制频率情况

伪装成浏览器或者反盗链:User-Agent,  Referer

(5)对于断线重连:使用multi_session和multi_open对爬虫抓取的session或opener进行保持

(6)多线程抓取

(7)对于Ajax请求

(8)自动化测试工具Selenium

#mac下Scrapy配置

1.安装Python

2.安装 pip

3.直接安装 Scrapy

由于 Linux下已经预装了 lxml 和 OPENSSL

如果想验证 lxml ,可以分别输入

sudo pip install lxml

出现下面的提示这证明已经安装成功

Requirementalreadysatisfied(use--upgradetoupgrade):lxmlin/usr/lib/python2.7/dist-packages

如果想验证openssl,则直接输入openssl 即可,如果跳转到 OPENSSL 命令行,则安装成功。

接下来直接安装 Scrapy 即可

sudo pip install Scrapy

安装完毕之后,输入 scrapy

注意,这里linux下不要输入Scrapy,linux依然严格区分大小写的,感谢kamen童鞋提醒。

如果出现如下提示,这证明安装成功

4:出错情况:经常是six模块的版本问题

scrapy

Traceback(most recent call last):

File"/usr/local/bin/scrapy",line7,infromscrapy.cmdlineimportexecuteFile"/Library/Python/2.7/site-packages/scrapy/__init__.py",line48,infromscrapy.spidersimportSpiderFile"/Library/Python/2.7/site-packages/scrapy/spiders/__init__.py",line10,infromscrapy.httpimportRequestFile"/Library/Python/2.7/site-packages/scrapy/http/__init__.py",line12,infromscrapy.http.request.rpcimportXmlRpcRequestFile"/Library/Python/2.7/site-packages/scrapy/http/request/rpc.py",line7,in

fromsix.movesimportxmlrpc_clientasxmlrpclib

ImportError:cannotimportname xmlrpc_client

下面是stackoverflow上的高票解决办法:

I've just fixed this issue on my OS X.

Please backup your files first.

sudo rm-rf/Library/Python/2.7/site-packages/six*

sudo rm-rf/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six*

sudo pip install six

Scrapy 1.0.0 is ready to go.

上一篇 下一篇

猜你喜欢

热点阅读