首页 > 其他分享 >Scrapy创建项目、爬虫文件

Scrapy创建项目、爬虫文件

时间:2023-07-17 11:45:48浏览次数:32  
标签:get 创建 爬虫 id 爬取 item Scrapy response

创建项目

执行命令

scrapy startproject <项目名>

项目结构

创建爬虫文件

  • 方式一:通过命令生成
scrpay genspider <爬虫名(必须唯一)> <domain>

<爬虫名>: 必须时唯一的
<domain>: 这个随意填,因为后期会修改爬虫文件中的start_url属性。
  • 方式二:在项目的spider包下,自己编写一个类,并继承爬虫类(Spider或CrawlSpider)
"""

CrawlSpider类型的爬虫会根据指定的rules规则自动找到url比自动爬取。

优点:适合整站爬取,自动翻页爬取
缺点:比较难以通过meta传参,只适合一个页面就能拿完数据的。

"""
class TaobaoSpider(CrawlSpider):
    name = "taobao"
    allowed_domains = ["taobao.com"]
    start_urls = ["https://taobao.com"]

    # crawl类型的爬虫特有的规则定义
    rules = (
        # LinkExtractor链接提取类,根据allow定义的正则表达式从网页源码中提取url链接
        Rule(LinkExtractor(allow=r"Items/"), callback="parse_item", follow=True),
        Rule(LinkExtractor(allow=r"Items/"), callback="parse_detail", follow=False),
    )

    def parse_item(self, response):
        item = {}
        #item["domain_id"] = response.xpath('//input[@id="sid"]/@value').get()
        #item["name"] = response.xpath('//div[@id="name"]').get()
        #item["description"] = response.xpath('//div[@id="description"]').get()
        return item

标签:get,创建,爬虫,id,爬取,item,Scrapy,response
From: https://www.cnblogs.com/juelian/p/17559625.html

相关文章

  • Scrapy爬虫文件代码基本认识和细节解释
    importscrapyfromscrapy.http.requestimportRequestfromscrapy.http.response.htmlimportHtmlResponsefromscrapy_demo.itemsimportForumItemclassBaiduSpider(scrapy.Spider):#name必须是唯一的,因为运行一个爬虫是通过name来选择的。#你需要运行命......
  • 线程启动、结束,创建线程多法、join,detach
    线程启动、结束,创建线程多法、join,detach视频链接:https://www.bilibili.com/video/BV1Yb411L7ak/?p=4&spm_id_from=333.880.my_history.page.click&vd_source=4c026d3f6b5fac18846e94bc649fd7d0参考博主文章:https://blog.csdn.net/qq_38231713/article/details/106091372join......
  • 爬虫 | <Response [418]>原因
    在我们调用requests.get(网址)访问网页时,输出为<Response[418]>。是什么原因呢?如下运行代码:#导入访问网页要用的库importrequests#申明一个变量存储网址#网址是一个字符串变量,注意网址前后都必须有引号url='https://movie.douban.com'#用requests.get(网址)访问......
  • [译]使用Python和Dash 创建一个仪表盘(上)
    介绍在数据科学和分析的领域,数据能力的释放不仅是通过提取见解的方式,同时也要能通过有效的方式来传达见解.这就是数据可视化发挥见解的地方.数据可视化是信息和数据的可视化呈现.它使用可视化元素,如图表、图形、地图,使其更容易看懂原始数据中的模式、趋势及异常值.对于数......
  • 用java创建一个单链表
    使用Java可以很方便地创建和操作数据结构,其中包括单链表。单链表是一种常见的线性数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。这种数据结构可以用于实现队列、栈、链表等等。在本文中,我们将学习如何使用Java创建一个单链表,并演示一些基本的操作。首先,我......
  • 数据结构练习笔记——创建有序单链表
    创建有序单链表【问题描述】为从键盘终端输入的m个整数创建带头结点的有序单链表存储结构,使输入的数据元素在单链表中按照元素值递增有序。【输入形式】第一行:单链表中元素个数m第二行:单链表中的m个整数【输出形式】按递增有序形式输出m个整数【样例输入】513245【......
  • 精益求精:创建软件开发领域的职业优势
    多点组合、日积月累、持之以恒、精益求精。投资思维与边际思维经济和交易是人类社会的基本驱动力,而软件开发是经济交易的一种形式。因此,有必要将软件开发纳入到经济的范畴,用经济学的思维来指导软件开发。经济学思维中最重要的两种思维是投资思维和边际思维。投资思维是战略思......
  • Parted 创建 GPT 分区
    Parted创建GPT分区 发表于 2019-02-27   更新于 2019-10-14   分类于 tools   阅读次数: 385 本文字数: 3.6k   阅读时长≈ 3分钟对于磁盘的分区表MBR与GPT区别。MBR:MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的。所支持的最大......
  • ef orm unique约束 uuid 创建前检查
    设置uuidnamespaceEF6SQLiteTutorial.Models{publicclassPeople{publicintId{get;set;}//设置uuidpublicGuidUuid{get;set;}=Guid.NewGuid();publicstringName{get;set;}=string.Empty;publ......
  • ChatGPT引领你掌握网站创建的秘诀!从0开始,轻松打造自己的个性化网站!
    1使用HTML生成一个完整的创业公司网站的落地页prompt:CreateacompletelandingpageforastartupcompanyusingHTML生成整个网页的基础框架:切换到WebStorm,将代码粘贴到新建的HTML文件。接着右击浏览器打开html文件:就能看到网页效果:Step2:使用TailwindCSS设置网页的......