• Scrapy的使用


    建立好项目以后,在项目文件内scrapy会搭好框架,我们只需要按照框架设置.

    先定义Item    它是保存爬取到的数据的容器,其使用方法和python的字典类似,并且提供了额外保护机制来避免拼写错误导致的未定义字段错误.

    然后编写爬虫类spider,  spider是用户编写用于从网站上爬取数据的类.其包含了一个用于下载的初始URL,然后是如何跟进网页中的链接以及如何分析页面中的内容,还有提起生产ltem的方法.

    Selector是一个选择器,它有四个基本的方法:

    xpath():传入xpath表达式,返回该表达式所对应的所有节点的selector list列表,xpath是一门在网页中查找特定信息的语言,所有用XPath来筛选数据,比正则要容易些

    css() 传入CSS表达式,返回该表达式所对应的所有节点的selector list列表

    extract() 序列化该节点为unicode字符串并返回list

    re() 根据传入的正则表达式对数据进项提取,返回unicode字符串list列表

    import scrapy

    from douban.items import DmozItem

    class DmozSpider(scrapy.Spider):
    name='dmoz' #爬虫的名字
    allowed_domains=['dmoztoos.net'] #爬取的范围
    start_urls=[
    'http://www.dmoztools.net/Reference/Archives/Arts/Film/'
    ]

    def parse(self,response):
    #filename=response.url.split('/')[-2]
    #with open(filename,'wb') as f:
    #f.write(response.body)
    sel=scrapy.selector.Selector(response)
    sites=sel.xpath('//section/div/div/div/div[@class="title-and-desc"]')
    items=[]
    for site in sites:
    item=DmozItem()
    item['title']=site.xpath('a/div/text()').extract()
    item['link']=site.xpath('a/@href').extract()
    item['desc']=site.xpath('div[@class="site-descr "]/text()').extract()
    items.append(item)

    return items

    scrapy crawl dmoz -o items.json -t json 此命令是爬虫最后导出json文件的命令

  • 相关阅读:
    Spring Boot日志管理
    JProfiler
    JProfiler学习笔记
    jprofiler安装图解
    方便!C++ builder快捷键大全
    QuickFix/N简介
    QuickFIX/N入门:(三)如何配置QuickFIX/N
    java自带线程池和队列详细讲解
    SQLYog快捷键大全
    DBCP连接池配置参数说明
  • 原文地址:https://www.cnblogs.com/009NotFound/p/10498465.html
Copyright © 2020-2023  润新知