爬虫——scrapy框架基础

学习:https://www.cnblogs.com/foremostxl/p/10078543.html

基础语法

在命令行下创建工程:
scrapy startproject 项目名称

在命令行下创建项目:
cd 进入工程所在文件夹
scrapy genspider 爬虫文件的名称 起始url

再执行命令:
项目文件下执行 :scrapy crawl 爬虫文件的名称   --nolog(阻止日志信息的输出)
settings里
19行:之前程序里的headers,伪装UA---对请求载体的身份进行伪装
22行:False---不遵从robots协议

在这里插入图片描述

import scrapy

class TestSpider(scrapy.Spider):
    # 爬虫文件的名称:通过爬虫文件的名称可以指定的定位到某一个具体的爬虫文件
    name = 'test'
    # 允许的域名:只可以爬取指定域名下的页面数据,一般注释掉
    # allowed_domains = ['www.qiushibaike.com']

    # 起始url,自动加协议头,注意协议
    start_urls = ['https://www.qiushibaike.com/text']

    # 解析方法:对获取的页面数据进行指定内容的解析,建议使用Xpath解析
    # response:根据起始url列表发起请求,请求成功后返回的响应对象
    # parse方法返回值:必须为迭代器或者空

    def parse(self, response):
        # 建议大家使用xpath进行解析(框架集成了xpath解析的接口)
        div_list = response.xpath("//div[@id='content-left']/div")
        for div in div_list:
            # author = div.xpath('./div/a[2]/h2/text()')
            # content = div.xpath(".//div[@class='content']/span/text()")
            
            # xpath解析到的指定内容被存储到了Selector对象
            
            # extract()改方法可以将Selector对象数据值拿到
            #author = div.xpath('./div/a[2]/h2/text()').extract()[0]
            # extract()[0]======>extract_first()
            
            author = div.xpath('./div/a[2]/h2/text()').extract_first()
            content = div.xpath(".//div[@class='content']/span/text()").extract_first()
            print(author)
            print(content)

小结:

  • xpath语法
  • extract()[0]=extract_first()
  • start_urls 自动加协议头,注意协议
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值