美文网首页
scrapy demo

scrapy demo

作者: realnickman | 来源:发表于2019-03-14 19:20 被阅读0次

试着使用scrapy爬一个书本信息网站,存到本地csv文件(也可以json)。

安装scrapy:

python3 -m pip install scrapy 

本质其实就是定义自己的spider及其行为, 需要从scrapy里的Spider类继承下来。新建webscraping-srapy.py如下

import scrapy

url = "http://books.toscrape.com/"

class BookSpider(scrapy.Spider):
    name = "bookspider"
    # def start_requests(self):
    #     urls = ['http://xx','http://xx']
    #     for url in urls:
    #         yield scrapy.Request(url=url, callback=self.parse)
    # 其实不需要override 此函数而是直接定义start_requests()会默认使用的start_urls list
    start_urls = [url] 

    def parse(self, response):
        for article in response.css("article.product_pod"):
            yield {
                "price": article.css(".price_color::text").extract_first(), # or use .get() but getall() will return a list
                "title": article.css("h3 > a::attr(title)").extract_first()
            }
        import pdb; pdb.set_trace() # 调试

        #next = response.css(".next > a::attr(href)").extract_first()
        #selector可以直接传入, 而且不需要写attr(href) 因为对于<a> element默认解析attr的值
        next = response.css(".next > a")[0] 
        if next:
            #笨办法是生成完整路径再继续yield Request
            #next_page = response.urljoin(next_page)
            #yield scrapy.Request(next_page, callback=self.parse)
            yield response.follow(next, self.parse)

假设我本地存下来到books.csv, 命令行是

scrapy runspider -o books.csv webscraping-srapy.py --pdb

最后说下,可以自己用scrapy shell 去做一些scraping, extract信息出来验证下,个人比后面用pdb效率高些:

scrapy shell 'http://books.toscrape.com/'

相关文章

  • python网络爬虫笔记三

    一、Scrapy爬虫框架常用命令 二、scrapy使用 scrapy startproject demo 新建...

  • scrapy demo

    试着使用scrapy爬一个书本信息网站,存到本地csv文件(也可以json)。 安装scrapy: 本质其实就是定...

  • scrapy框架的基本使用

    通过本文了解scrapy的基本使用,并通过一个demo感受它的强大。 scrapy 来自Scrapy官网的介绍: ...

  • scrapy爬取豆瓣电影top250

    学习scrapy,总结下使用scrapy爬取豆瓣电影的demo,以及中间遇到的问题。 核心就是一个spider和一...

  • Scrapy 框架学习(二):Scrapy 入门

    一个简单的 Scrapy demo,完成基本的抓取流程以对 Scrapy 有基本的认识。基本目标: 命令行创建项目...

  • Fiori-like Prototype (Scrapy & W

    Scrapy. Framework. Python. Pycharm. Demo. JSON format. Co...

  • scrapy学习

    1,建立工程打开cmd,输入:scrapy startproject python123demo其中,spyder...

  • scrapy--demo (3)

    scrapy startproject mytest创建项目文件夹cd mytestscrapy genspide...

  • 教程

    一 入门系列 1. Scrapy爬虫入门教程二 官方提供Demo https://www.jianshu.com/...

  • bootstrap后台模板

    在看scrapy爬虫框架的时候,顺手把一个http://www.themepixels.com/demo/brac...

网友评论

      本文标题:scrapy demo

      本文链接:https://www.haomeiwen.com/subject/efmcmqtx.html