python网络爬虫之框架2

12 篇文章 0 订阅
5 篇文章 0 订阅

scrapy爬虫的第一个实例

产生步骤:
步骤一:建立一个scrapy爬虫工程
步骤二:在工程内产生一个Scrapy爬虫
步骤三:配置产生的spider爬虫
步骤四:运行爬虫,获取网页



# -*- coding: utf-8 -*-
import scrapy
class DemoSpider(scrapy.Spider):
    name = "demo"
    #allowed_domains = ["python123.io"]
    start_urls = ['https://python123.io/ws/demo.html']
    def parse(self, response):
        fname = response.url.split('/')[-1]
        with open(fname, 'wb') as f:
            f.write(response.body)
        self.log('Saved file %s.' % name)

yield关键字的使用

生成器:不断产生值得函数
包含yield语句的函数就是一个生成器
生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值。

#scrapy爬虫的数据类型

  • Requests类:
    表示一个requests对象,即一个HTTP请求
    由spider生成,由downloader执行
  • Response类
    表示一个HTTP响应
    由Downloader产生,由Spider处理。
  • Item类
    Item对象表示从一个HTML页面中提取的信息内容
    由Spider生成,由ItemPiplines处理
    Item类似字典类型,可以按照字典类型操作

Requests类

属性或方法说明
.urlRequests对应的请求URL地址
.method对应的请求方法,‘GET’‘POST’等
.headers字典类型风格的请求头
.body请求内容主体,字符串类型
.meta用户添加的扩展信息,在Scrapy内部模块间传递信息使用
.copy复制该请求

Response类

属性或方法说明
.urlResponse对应的URL地址
.statusHTTP的状态码,默认200
.headersResponse对应的头部信息
.bodyResponse对应的内容信息,字符串类型
.flag一组标记
.request产生Response类型对应的Request对象
.copy()复制该响应

scrapy爬虫提取信息的方法
scrapy爬虫支持多种HTML信息提取方法:

  • BeautifulSoup
  • lxml
  • re
  • xpath selector
  • CSS Selector
    html.css(“a::attr(href)”).extract()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值