为Python建立一个容器,用virtualenv。开始Scrapy爬虫

使用Python一段时间后,就会经常需要装一些第三方包,听说,不同包安装多了,会影响开发环境,造成环境污染。具体的污染我也没遇到过,不过,一个干净的环境,使用起来就比较舒服,想装什么,就直接装,不用担心之前提到的,对整个环境的污染。用virtualenv后,安装的第三方包,只对用virtualenv建立的这个文件有效。相当于一个“隔离”的容器。

首先下载

pip install virtualenv

建立自己的项目

mkdir myproject

cd myproject

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

virtualenv –no-site-packages venv

把一个“纯洁”的Python环境,这个Python环境,不包含任何系统的第三方包,从“–no-site-packages“就可以看出,复制”到自己的项目的自己的“隔离”的房间。

source venv/bin/activate

激活环境,注意,这时候,前面就有(venv)了

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

当要退出项目,并且要离开这个“隔离”的房间时,退出输入

deactivate

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

从这里开始,就可以放心的随意搞了。接下来就是装Scrapy。Scrapy是什么?是一套爬虫框架,框架有什么好处,框架就是先给你一套模版代码,你在这个代码的基础上依据自己的需求改动就好了。

首先下载这个框架。

pip install Scrapy

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

接下来,就是用框架,建立模版了。

scrapy startproject ExampleProgram

ExampleProgram是我们要建立的项目的名字。

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

根据提示,要进入项目,并定义爬虫从哪个页面开始。

scrapy genspider example example.com

第一个example是爬虫名,第二个example是定义网站,如miguxue.com。这个两个example可以不用相同。

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

启动爬虫,是在命令行输入

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()

还是放一下今天的尝试,好久不用,忘了很多

《为Python建立一个容器,用virtualenv。开始Scrapy爬虫》

注意末尾的extract(),之前属性提取错了,“-”被错误提起成了“_“,小错折腾了好久,难度没有啥的。

参考资料:

Python利器,超凡蜘蛛带你“爬”世界-极客学院

廖雪峰-virtualenv

    原文作者:Manuone
    原文地址: https://www.jianshu.com/p/cfe0727a2c04
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞