scrapy框架

Posted gaofeng-d

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy框架相关的知识,希望对你有一定的参考价值。

几个scrapy框架的指令:
  scrapy startproject xxxx
  scrapy genspider xxx www.ooo.com
  scrapy crawl xxx
基于管道的持久化存储:
  1.数据解析
  2.在item类中定义相关的属性
  3.在parse方法中实例化一个item类型的对象
  4.将解析到的数据存储到item类型的对象中
  5.使用yield item将item对象提交给管道
  6.在process_item 这里面 接收数据 并进行持久化存储
  7.在配置文件里面开启管道
技术图片
 1 # -*- coding: utf-8 -*-
 2 import scrapy
 3 from qiubai01.items import Qiubai01Item
 4 
 5 
 6 class QiubaiSpider(scrapy.Spider):
 7     name = qiubai
 8     # allowed_domains = [‘www.xxx.com‘]
 9     start_urls = [https://www.qiushibaike.com/text/]
10 
11     # def parse(self, response):
12     #     # response 是请求返回对象
13     #     div_list = response.xpath("//*[@id=\"content-left\"]/div")
14     #     for div in div_list:
15     #         # author = div.xpath("./div[1]/a[2]/h2/text()")[0].extract()
16     #         # 这里面换一种写法也可以
17     #         author = div.xpath("./div[1]/a[2]/h2/text()").extract_first()
18     #         content = div.xpath(‘./a/div/span//text()‘).extract()
19     #         content = "".join(content)
20     #         print(author)
21     #         print()
22     #         print(content)
23 
24     # 基于终端指令存储  scrapy crawl -o qiushi.csv
25     # def parse(self, response):
26     #     # response 是请求返回对象
27     #     div_list = response.xpath("//*[@id=\"content-left\"]/div")
28     #     all_data_list = []
29     #     for div in div_list:
30     #         # author = div.xpath("./div[1]/a[2]/h2/text()")[0].extract()
31     #         # 这里面换一种写法也可以
32     #         author = div.xpath("./div[1]/a[2]/h2/text()").extract_first()
33     #         content = div.xpath(‘./a/div/span//text()‘).extract()
34     #         content = "".join(content)
35     #         dic = {}
36     #         dic[‘author‘] = author
37     #         dic[‘content‘] = content
38     #         all_data_list.append(dic)
39     #     return all_data_list
40 
41     # 基于管道的持久化存储
42 
43     def parse(self, response):
44         """
45         1.数据解析
46         2.在item类中定义相关的属性
47         3.在parse方法中实例化一个item类型的对象
48         4.将解析到的数据存储到item类型的对象中
49         5.使用yield item将item对象提交给管道
50         6.在process_item 这里面 接收数据 并进行持久化存储
51         7.在配置文件里面开启管道
52         """
53         # response 是请求返回对象
54         div_list = response.xpath("//*[@id=\"content-left\"]/div")
55 
56         for div in div_list:
57             # author = div.xpath("./div[1]/a[2]/h2/text()")[0].extract()
58             # 这里面换一种写法也可以
59             author = div.xpath("./div[1]/a[2]/h2/text()").extract_first()
60             content = div.xpath(./a/div/span//text()).extract()
61             content = "".join(content)
62             item = Qiubai01Item()
63             item[author] = author
64             item[content] = content
65             # 向管道提交item
66             yield item
View Code

 

以上是关于scrapy框架的主要内容,如果未能解决你的问题,请参考以下文章

爬虫scrapy框架介绍

Python爬虫 ---scrapy框架初探及实战

Python Scrapy框架

scrapy框架之crawl问题解决

Python编程基础之(五)Scrapy爬虫框架

你懂Scrapy吗?Scrapy大型爬虫框架讲解