使用Python一段时间后,就会经常需要装一些第三方包,听说,不同包安装多了,会影响开发环境,造成环境污染。具体的污染我也没遇到过,不过,一个干净的环境,使用起来就比较舒服,想装什么,就直接装,不用担心之前提到的,对整个环境的污染。用virtualenv后,安装的第三方包,只对用virtualenv建立的这个文件有效。相当于一个“隔离”的容器。
首先下载
pip install virtualenv
建立自己的项目
mkdir myproject
cd myproject
virtualenv –no-site-packages venv
把一个“纯洁”的Python环境,这个Python环境,不包含任何系统的第三方包,从“–no-site-packages“就可以看出,复制”到自己的项目的自己的“隔离”的房间。
source venv/bin/activate
激活环境,注意,这时候,前面就有(venv)了
当要退出项目,并且要离开这个“隔离”的房间时,退出输入
deactivate
从这里开始,就可以放心的随意搞了。接下来就是装Scrapy。Scrapy是什么?是一套爬虫框架,框架有什么好处,框架就是先给你一套模版代码,你在这个代码的基础上依据自己的需求改动就好了。
首先下载这个框架。
pip install Scrapy
接下来,就是用框架,建立模版了。
scrapy startproject ExampleProgram
ExampleProgram是我们要建立的项目的名字。
根据提示,要进入项目,并定义爬虫从哪个页面开始。
scrapy genspider example example.com
第一个example是爬虫名,第二个example是定义网站,如miguxue.com。这个两个example可以不用相同。
启动爬虫,是在命令行输入
scrapy crawl example
或者建立一个main文件,写入
from scrapy import cmdline cmdline.execute(“scrapy crawl example”.split())
在爬之前,修改settings.py中的内容
# Obey robots.txt rules
ROBOTSTXT_OBEY=True
True改为False,robots.txt rules是一项爬虫协议,为True时,就禁止爬取。
接下来就是Xpath抓取了,两个例子就够用了,一个是抓属性,如图片地址,一个是抓标签里的文字。
//div[@class=”useful”]/span/a/@href
//div[@class=”useful”]/span/name/text()
还是放一下今天的尝试,好久不用,忘了很多
注意末尾的extract(),之前属性提取错了,“-”被错误提起成了“_“,小错折腾了好久,难度没有啥的。
参考资料: