文章截图均来自中国大学mooc Python网络爬虫与信息提取的教程,以上仅作为我的个人学习笔记。下面是教程链接:
使用Scrapy库爬取网页https://python123.io/ws/demo.html
1、建立一个Scrapy爬虫的工程:
2、创建的文件以及其中包含子目录的含义:
3、在工程中产生一个Scrapy爬虫:在spiders文件内产生一个demo.py的爬虫、当然也可以手工来生成这个文件:
4、配置产生spider爬虫:
#demo.py
import scrapy
class DemoSpider(scrapy.Spider):
name = 'demo'
#allowed_domains = ['python123.io']
start_urls = ['http://python123.io/ws/demo.html']
def parse(self, response):
fname = response.url.split('/')[-1]
with open(fname,'wb') as f:
f.write(response.body)
self.log('Saved file %s.' % name)
5、运行爬虫获取网页:
6、demo.py代码的完整版本
7、yield关键字的使用:
生成器:是一个不断产生值的函数
包含yield语句的函数是一个生成器
生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值
8、为什么要生成器:
9、Scarpy爬虫的基本使用:
- 创建一个工程和Spider模板
- 编写Spider
- 编写Item Pipeline
- 优化配置策略
10、Scrapy爬虫的数据类型:
- Request类
- Response类
- Item类
11、CSS Selector的基本使用:
12、单元小结: