0. 安装,在Kali linux 下安装很方便。
点击(此处)折叠或打开
- apt-get update
- apt-get install python3-scrapy
1. 命令行基础使用如下:
点击(此处)折叠或打开
- scrapy startproject myproject
- #创建一个project
- scrapy genspider wikiSpider en.wikipedia.org
- #生成一个spider
- scrapy list
- #列出所有的spider
- scrapy shell
- #进入scrapy shell
- #scrapy shell 后面可以直接跟上URL例如:
- scrapy shell chinaunix.net
- #在scrapy shell里面可以使用TAB来自动补全
- 例如:
- In [3]: response.body
response.body response.flags response.request
response.body_as_unicode response.follow response.selector
response.copy response.headers response.status >
response.css response.meta response.text
response.encoding response.replace response.url
点击(此处)折叠或打开
- In [5]: response.xpath('//title/text()').extract_first()
- Out[5]: 'Unix技术网 = 全球最大的Linux/Unix应用与开发者社区 = IT人的网上家园'
- #下面的这一行,可以取到所有的A标签里href有chinaunix字段的a标签的href attribute,意味着我可以取到这个webpage上所有链接的URL.
- In [9]: response.xpath('//a[contains(@href,"chinaunix")]/@href').extract()
- #extract() 返回是一个列表,extract_first()会返回列表的第一项,其实就是 list[0].
- response.xpath('//a[contains(@href,"chinaunix")]/@href').extract_first()
2. 其他的一些命令行
点击(此处)折叠或打开
- #爬给定的URL或者网站的命令简单粗暴
- scrapy crawl [SPIDERNAME]
- #可以通过-s 传入参数,例如
- scrapy crawl apts -s LOG_FILE=wiki.log
- #可以输出文件xml,json,csv
- scrapy crawl apts -o output.json -t json
scrapy crawl apts -o output.csv -t csv
scrapy crawl apts -o output.xml -x xml
3. 可以在settings.py 里面设定LOG_LEVEL.
有5个LOG_LEVEL, 好熟悉的LEVEL, 跟linux的syslog倒是一脉相承.
点击(此处)折叠或打开
- CRITICAL/ERROR/WARNING/DEBUG/INFO
4. 2017年12月整个一个月没有写一篇博客,惭愧,打算以后每5天,写一篇,争取每个月最少写6篇.