欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

scrapy 爬虫

程序员文章站 2022-05-06 19:08:21
...

scrapy 爬虫

创建项目:
	scrapy startproject dd
进入工程中:
	cd ../dangdang
生成爬虫程序:
	scrapy genspider dd dd.com
使用pycharm 编写爬虫程序:
	1、items.py
		通过 	items.py  程序中生成需要保存的字段,格式为:name=scrapy.Field()      	注意爬取数据中需要每一段数据需要几个字段就创建几个字段。
	
	2、dd.py
		通过修改 dd.py 程序对下载器响应回来的信息进行解析,其中解析手法通常使用 	response.xpath("").extract()  语法规则进行解析。 其中解析出来的数据保存到 	items.py  程序中创建的字段***意要使用items.py 中创建的存储区域,需要在该程序中导入。目的是为了通用一个存储区域,保证了该字段在整个 dangdang 项目中都能通用)。
		xpath 表达式:
		“/” : 逐层提取
		“text()” : 提取标签下面的文本
			“//标签名** ” :提取网页中标签名为  标签名** 的标签
			“//标签名**【@属性名=“属性值”】”:提取属性名为 属性值的   ** 标签
			“@属性名” :代表取某个属性值
			
		xpath 匹配出来的结果为一个列表,列表内是该网页的所有匹配出的集合。
		当需要的数据匹配完了后需要将item yield 回去,yield item 
		
		如果有下一页需要爬取:
			需要重新构建出 url 
			并通过  yield Request(url,callback=self.parse)	进行重复上面的执行,直到没有可以访问的url 为止;
			
	3. settings.py
		settings.py 中可以设置是否需要遵循robots 协议,以及请求头等相关信息等等
	
	4. pipelines.py
		对dangdang.py 程序中传过来的文件进行存储等处理
		注意:
			如果此处使用文件方式进行数据存储,建议打开文件的时候使用 编码encoding="utf-8" 否则容易报错
			with open("test.txt"."a", encoding = "utf-8") as f: