Scrapy爬虫框架简单应用

1、Scrapy基本命令

scrapy startproject xxx #创建工程
scrapy genspider aaa aaa.com #创建名为aaa的spider爬取aaa.com
scrapy view http://www.163.com #查看网页源代码
scrapy shell http://www.163.com #解析网页

其中scrapy shell命令可以进入交互式环境进行代码测试
例如进行response.xpath('...')测试

Paste_Image.png

使用text()获得文字内容

Paste_Image.png

scrapy bench #测试scrapy安装是否成功

2、scrapy重要组件

Paste_Image.png

基类(scrapy.Spider)

Paste_Image.png

基类的子类CrawlSpider XMLFeedSpider CSVFeedSpider SitemapSpider
其中CrawlSpider是最常用的基类,它有两个成员
1、rules:定义了一些抓取规则
2、parse_start_url(response):解析初始url
参考地址:https://doc.scrapy.org/en/1.2/topics/spiders.html

Selector

对文本内容

 <head>
  <base href='http://example.com/' />
  <title>Example website</title>
 </head>
 <body>
  <div id='images'>
   <a href='image1.html'>Name: My image 1 <br />![](image1_thumb.jpg)</a>
   <a href='image2.html'>Name: My image 2 <br />![](image2_thumb.jpg)</a>
   <a href='image3.html'>Name: My image 3 <br />![](image3_thumb.jpg)</a>
   <a href='image4.html'>Name: My image 4 <br />![](image4_thumb.jpg)</a>
   <a href='image5.html'>Name: My image 5 <br />![](image5_thumb.jpg)</a>
  </div>
 </body>
</html>```

Scrapy中使用selector作为默认解析器,在selector中常用的抽取方法有 
1、xpath
>response.xpath('//title/text()')

2、css
> response.css('img').xpath('@src').extract()

得到的内容
```[u'image1_thumb.jpg',
 u'image2_thumb.jpg',
 u'image3_thumb.jpg',
 u'image4_thumb.jpg',
 u'image5_thumb.jpg']```
3、re
4、extract

得到相应的内容
https://doc.scrapy.org/en/1.2/topics/selectors.html

##Items
设计想要存储的结构化数据
https://doc.scrapy.org/en/1.2/topics/items.html
##Item Pipeline
对数据进行处理
https://doc.scrapy.org/en/1.2/topics/item-pipeline.html
##Feed exports
进行输出
例如在settings.py中,则输出为csv文件

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2744623-7c4e330f39eb6c41.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
https://doc.scrapy.org/en/1.2/topics/feed-exports.html
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容