Scrapy入门

Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。

安装scrapy

pip install scrapy==2.5.0

1.新建 Scrapy项目

scrapy startproject mySpider   # 项目名为mySpider

2.进入到spiders目录

 cd mySpider/mySpider/spiders

3.创建爬虫

 scrapy genspider dgcuAI  ai.dgcu.edu.cn      # 爬虫名为dgcuAI,爬取域为ai.dgcu.edu.cn

 4.制作爬虫

创建爬虫之后,打开dgcuAI.py文件。

引入Selector

from scrapy.selector import Selector

修改start_urls:

start_urls = ['http://ai.dgcu.edu.cn/front/category/2.html']

 修改parse函数:

    def parse(self, response):

        print(response.url)

        selector = Selector(response)

        # # 使用XPath表达式提取信息:

        # 标题: //div[@class="pageList"]/ul/li/a/div[@class="major-content1"]/text()

        # 链接: //div[@class="pageList"]/ul/li/a/@href

        # 日期: //div[@class="pageList"]/ul/li/a/div[@class="major-content2"]/text()

        node_list = selector.xpath("//div[@class='pageList']/ul/li")

        for node in node_list:

            # 文章标题

            title = node.xpath('./a[1]/div[@class="major-content1"]/text()').extract_first()

            # 文章链接

            url = node.xpath('./a[1]/@href').extract_first()

            # 日期

            date = node.xpath('./a[1]/div[@class="major-content2"]/text()').extract_first()

            print("文章标题:", title)

            print("文章链接:",url)

            print("日期:",date)

 5.运行爬虫

 在mySpider/mySpider/文件夹下创建run.py文件,并运行:

from scrapy import cmdline

cmdline.execute("scrapy crawl dgcuAI -s LOG_ENABLED=False".split())

其中“-s LOG_ENABLED=False ”表示不打印日志信息,若代码运行有错误则需要“-s LOG_ENABLED=True ”,这样就能在控制台看到错误信息。

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/3093.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

从0开始linux(20)——文件(1)文件描述符

欢迎来到博主的专栏:从0开始linux 博主ID:代码小豪 文章目录 文件打开文件文件修饰符从linux源码了解文件描述符 文件 首先我们先来搞清楚文件是什么?文件其实就是一段数据,是一段存储在磁盘当中的数据,文件是由文件内…

【汇编语言】[BX]和loop指令(二)——在Debug中跟踪用loop指令实现的循环程序

文章目录 前言1. 题目引入1.1 问题一1.2 问题二1.3 问题三1.4 代码实现 2. 程序跟踪2.1 加载程序,用r命令查看寄存器内容2.2 用U命令查看内存中的程序2.3 用T命令进行程序跟踪2.4 用P命令使得程序返回 3. 循环次数更多的程序3.1 代码实现3.2 一个新的命令——g3.3 如…

Unity照片墙效果

Unity照片墙效果,如下效果展示 。 工程源码

鸿蒙HarmonyOS开发生日选择弹框

鸿蒙HarmonyOS开发生日选择弹框 生日选择弹框和城市选择弹框差不多,都是通过观察上一个数据变化来设置自己的数据 一、思路: 一个弹框上建三个compoent,一个年,一个月,一个日。日的数据是根据年和月进行变化的 二、…

浏览器内核版本更新:Chrome 130✔

SunBrowser 内核版本更新至 Chrome 130,UA 同步更新至 130。 如何更新浏览器内核版本? 本地设置更新 在 AdsPower 客户端点击右上角的[设置],再点击[本地设置],下滑找到版本信息,选中需要的内核版本立即下载。 新建浏…

【实践】某央企研究院如何打造IT监控告警平台?

01客户简介: 案例客户为某央企下属研究院。 02痛点分析: 随着信创国产化持续推进,案例客户已完成部分IT核心系统的替代,部署了一系列国产软硬件设施,如Kylinv10操作系统、融智通网络设备等。由于信创生态不够成熟&a…

SpringBoot在线教育系统:集成第三方服务

5系统详细实现 5.1 普通管理员管理 管理员可以对普通管理员账号信息进行添加修改删除操作。具体界面的展示如图5.1所示。 图5.1 普通管理员管理界面 5.2 课程管理员管理 管理员可以对课程管理员进行添加修改删除操作。具体界面如图5.2所示。 图5.2 课程管理员管理界面 5.3 …

vscode | 开发神器vscode快捷键删除和恢复

目录 快捷键不好使了删除快捷键恢复删除的快捷键 在vscode使用的过程中,随着我们自身需求的不断变化,安装的插件将会持续增长,那么随之而来的就会带来一个问题:插件的快捷键重复。快捷键重复导致的问题就是快捷键不好使了&#xf…

C++优选算法九 链表

一、常用技巧 画图!直观形象,便于理解。引入虚拟“头”结点。不吝啬空间。快慢双指针: 判环 找链表中环的入口 找链表中倒数第n个结点 二、常用操作 创建一个新结点尾插头插 三、示例题目 1.两数相加. - 力扣&#xff08…

计算机网络:网络层 —— 虚拟专用网 VPN

文章目录 虚拟专用网 VPN 概述内联网 VPN外联网 VPN 虚拟专用网 VPN 概述 虚拟专用网(Virtual Private Network,VPN):利用公用的因特网作为本机构各专用网之间的通信载体,这样形成的网络又称为虚拟专用网。 出于安全…

Web 安全基础知识梳理大全,零基础入门到精通,收藏这篇就够了

一、各种linux虚拟机忘记密码 1、红帽忘记密码修改root密码 1 在重启的时候 e 进入 2 在linux16 后面找到UTF-8 在后面加 rd.break 然后ctrlx 3 这时候可以输入mount 看一下 会发现根为 /sysroot/ 没有w权限,只有ro权限 4 输入 mount -o remount,r…

非凸科技助力第49届ICPC亚洲区域赛(成都)成功举办

10月26日-27日,由电子科技大学承办、非凸科技与华为共同支持的第49届ICPC国际大学生程序设计竞赛亚洲区域赛(成都)在郫都区体育中心体育馆顺利举行。非凸科技期待与产学研各界专家、青年才俊一起,推动基础科学理论研究的重大突破&…

ssm051网上医院预约挂号系统+jsp(论文+源码)_kaic

本科毕业设计论文 题目:网上医院预约挂号系统设计与实现 系 别: XX系(全称) 专 业: 软件工程 班 级: 软件工程15201 学生姓名: 学生学号: 指导教师&#xff1a…

EtherCAT转ModbusTCP相关技术

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 MS-GW15 概述 MS-GW15 是 EtherCAT 和 Modbus TCP 协议转换网关,为用户提供一种 PLC 扩展的集成解决方案,可以轻松容易将 Modbu…

qt QTextStream详解

1、概述 QTextStream类是Qt框架中用于处理文本输入输出的类。它提供了一种方便的方式,可以从各种QIODevice(如QFile、QBuffer、QTcpSocket等)中读取文本数据,或者将文本数据写入这些设备中。QTextStream能够自动处理字符编码的转…

大数据-201 数据挖掘 机器学习理论 - 决策树 局部最优 剪枝 分裂 二叉分裂

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

项目_Linux_网络编程_私人云盘

概述 项目功能总述: 该项目使用TCP进行通信,实现文件的上传和下载。云盘的文件同步有手动同步、实时同步、定时同步这三种。本项目主要实现的是手动同步的功能,重点训练在如何使用TCP进行文件传输。 选择TCP的原因: 文件的传输…

细腻的链接:C++ list 之美的解读

细腻的链接:C list 之美的解读 前言: 小编在前几日刚写过关于vector容器的内容,现在小编list容器也学了一大部分了,小编先提前说一下学这部分的感悟,这个部分是我学C以来第一次感到有难度的地方,特别是在…

Java之包,抽象类,接口

目录 包 导入包 静态导入 将类放入包 常见的系统包 抽象类 语法规则 注意事项: 抽象类的作用 接口 实现多个接口 接口间的继承 接口使用实例 (法一)实现Comparable接口的compareTo()方法 (法二)实现Comp…

qt QDragEnterEvent详解

1、概述 QDragEnterEvent是Qt框架中用于处理拖放进入事件的一个类。当用户将一个拖拽对象(如文件、文本或其他数据)拖动到支持拖放操作的窗口部件(widget)上时,系统会触发QDragEnterEvent事件。这个类允许开发者在拖拽…