首页 > 其他 > 详细

scrapy框架使用

时间:2020-02-04 17:09:37      阅读:65      评论:0      收藏:0      [点我收藏+]

Scrapy入门

  • scrapy是框架 类似于车子 会开车
  • 采用异步框架 实现高效的网络采集
  • 最强大的框架 没有之一

Scrapy安装

  • pin install scrapy --->出现错误提示:VC++14.0 Twisted

    解决方法:离线安装 pip install xxx.whl文件

  • scrapy bencn 运行的时候报错 ---->win32

    解决方法:pip install pywin32

Scarpy入门案例

  1、创建项目

    scrapy startproject xxx(项目名字)

  2、创建爬虫

    scrapy genspider 爬虫名字 网站域名

    注意事项:

       *爬虫名字和项目名字不能相同

         *网站域名是允许爬虫采集的域名

         - baidu.com

   3、解释爬虫文件

      

 1 # -*- coding: utf-8 -*-
 2 import scrapy
 3 
 4 #创建爬虫类 并且继承自scrapy.Spider -->最基础的类,另外几个类都是继承自这个类
 5 class XiciwangSpider(scrapy.Spider):
 6     name = xiciwang   #爬虫名字,必须唯一
 7     allowed_domains = [www.xicidaili.com] #允许采集的域名
 8     start_urls = [https://www.xicidaili.com/nn/] #开始采集的网站
 9 
10     #解析响应数据,提取数据或者网址等,就是源码 
11     def parse(self, response):
12         pass

  4、提取数据方法

    -正则表达式提取

    -xpath提取

    -css提取

  

  5、运行爬虫

    -scrapy crawl爬虫名称

  6、例子

 

 1 # -*- coding: utf-8 -*-
 2 import scrapy
 3 
 4 #创建爬虫类 并且继承自scrapy.Spider -->最基础的类,另外几个类都是继承自这个类
 5 class XiciwangSpider(scrapy.Spider):
 6     name = xiciwang   #爬虫名字,必须唯一
 7     allowed_domains = [www.xicidaili.com] #允许采集的域名
 8     start_urls = [https://www.xicidaili.com/nn/] #开始采集的网站
 9 
10     #解析响应数据,提取数据或者网址等,就是源码
11     def parse(self, response):
12 
13         #提取数据
14         shuju = response.xpath(//tr)
15         for i in shuju:
16             ip = i.xpath(./td[2]/text()).get()
17             duankou = i.xpath(./td[3]/text()).get()
18             print(ip,duankou)
19 
20         #翻页操作
21         fangye = response.xpath("//div/a[@class=‘next_page‘]/@href").get()
22         if fangye:
23             print(fangye)
24             #拼接网址
25             # next_url = ‘https://www.xicidaili.com/‘+fangye
26             next_url = response.urljoin(fangye)
27             #发出请求Request callback 是回调函数 就是将请求得到的响应交给自己处理
28             yield scrapy.Request(next_url,callback=self.parse)

 

scrapy框架使用

原文:https://www.cnblogs.com/zihkj/p/12260064.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!