Scrapy爬虫的第一个实例
产生步骤(1):应用Scrapy爬虫框架主要是编写配置型代码
建立一个Scrapy爬虫工程
选取一个目录,然后执行如下命令:
D:\pycodes\scrapy startproject python123demo
产生步骤(2):在工程中产生一个Scrapy爬虫
进入工程目录(D:\pycodes\python123demo),然后执行如下命令:
D:\pycodes\python123demo>scrapy genspider demo python123.io
该命令作用:
生成一个名称为demo的spider
在spiders目录下增加代码文件demo.py
(该命令仅用于生成demo.py,该文件也可以手工生成)
产生步骤(3):配置产生的spider爬虫
配置:(1)初始URL地址 (2)获取页面后的解析方式
fname = response.url.split('/')[-1] 意味fname是url的最后一个/后的名称
然后用witn as函数,将返回的内容存入文件中
产生步骤(4):运行爬虫,获取网页,在命令行下,执行如下命令
D:\pycodes\python123demo>scrapy crawl demo
demo爬虫被执行,捕获页面存储在demo.html中
2.yield关键字
yield是生成器,包含yield语句的函数是一个生成器,生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个i遏值,生成器是一个不断产生值的函数,生成器每调用一次在yield位置产生一个值,直到函数执行结束
普通写法需要存储数列,生成器只返回一个数
3.Scrapy爬虫的基本使用
步骤1:创建一个工程和Spider模板
步骤2:编写Spider
步骤3:编写Item Pipeline
步骤4:优化配置策略
Scrapy爬虫的数据类型
Reques类
class scrapy.http.Request()
Request对象表示一个HTTP请求,由Spider生成,由Downloader执行
Response类
class scrapy.http.Response()
Response对象表示一个HTTP响应,由Downloader生成,由Spider处理
Item类
class scrapy.item.Item()
Item对象表示一个从HTML页面中提取的信息内容
由Spider生成,由Item Pipeline处理
Item类似字典类型,可以按照字典类型操作
Scrapy爬虫支持多种HTML信息提取方法:
• Beautiful Soup
• lxml
• re
• XPath Selector
• CSS Selector