1、cmd创建项目
scrapy startproject 项目名
2、创建爬虫
进入到刚刚创建的项目下的spiders目录中,scrapy genspider 爬虫名 域名
如: scrapy genspider douban douban.com
3、
用pycharm打开项目,在爬虫文件中开始编写爬虫代码。
改start_urls中的起始页
在默认的parse方法中去写处理该页面的提取内容代码
4、在items中完成爬取数据字段的实体,如:
name = scrapy.Fileds()
price =scrapy.Fileds()
5、在parse方法中,通过response.path完成页面的解析。如:
li_list = response.xpath(‘//div[@id=”xxx”]/ul/li’) #获取某个div下所有的li
for li in li_list:
通过li继续获取每个li下面需要的数据,如下:
xxx = li.xpath(‘.//xxx[@xxx=”xxx”]/xxx/text()’).extract_first() #如果一个内容则直
接提取
多个内容需要通过extract()获取后得到的是数组
如果有内页:
ny_url = li.xpath(‘../…/a/@href’).extract_first()
继续发送内页请求
yield scrapy.Request(url=ny_url,callback=self.解析内页的方法名)
6、定义解析内页或者其他页面的方法:
def parse_ny(self,response):
…..解析内页
7、数据封装
from 项目名.items import items.py文件中的实体类的名称
def parse(self,response):
需要使用的时候先创建实体对象,或者在循环中创建实体对象
item = 实体类名称()
item[‘实体类字段’] = 数据
item[‘实体类字段’] = 数据
如果需要将实体对象传入下一个解析方法继续处理的。
yield scrapy.Request(url=下一个url,meta={‘自己起名称’:item},callback=self.parse方法)
def parse方法(self,response):
item = response.meta[‘自己起的名称’]
继续向item中添加其他爬取的数据字段
item[‘xxx’] =xxx
数据装完,返回给实体管道
yield item
Original: https://blog.csdn.net/Yang_Ke_Di/article/details/122542376
Author: 夙惜言
Title: 2.爬虫框架scrapy全部笔记
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/790441/
转载文章受原作者版权保护。转载请注明原作者出处!