当前位置: 首页 > news >正文

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 ”,这样就能在控制台看到错误信息。

运行结果:

相关文章:

Scrapy入门

Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。 安装scrapy pip install scrapy2.5.0 1.新建 Scrapy项目 scrapy startproject mySpider # 项目名为mySpider 2.进入到spiders目录 cd mySpider/mySpider/spiders 3.创建爬虫 scrapy gensp…...

Ubantu/Linux 采用Repo或Git命令报错!!

简言: 遇事还是不要慌,出现这些问题,很正常的;如果那些你不需要,只是需要回到某一个版本,那么就是需要,方法可以尝试回退节点,也可以尝试强行merge合入冲突,或找到冲突文件解决,但这些方法都非常的繁杂且不实用。以下是研究出来的解决方案! 记得随时使用git statu…...

C++简单工厂模式

什么是简单工厂模式? 简单工厂模式属于创造型模式,而工厂就是负责生产和创造的,顾名思义。建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品;在工厂中加工产品,使用产品的人,不用在…...

讲讲 kafka 维护消费状态跟踪的方法?

大家好,我是锋哥。今天分享关于【讲讲 kafka 维护消费状态跟踪的方法?】面试题?希望对大家有帮助; 讲讲 kafka 维护消费状态跟踪的方法? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中&#x…...

MySQL 和 PostgreSQL 的对比概述

MySQL 和 PostgreSQL 是两种广泛使用的开源关系型数据库管理系统(RDBMS),它们各自有其特点和优缺点。以下将从多个方面对它们进行详细比较。 1. 介绍 MySQL: MySQL 由瑞典公司 MySQL AB 开发,2008 年被 Sun Microsyst…...

【Python单元测试】pytest框架单元测试 配置 命令行操作 测试报告 覆盖率

单元测试(unit test),简称UT。本文将介绍在Python项目中,pytest测试框架的安装,配置,执行,测试报告与覆盖率 pytest简介 pytest是一款流行的,简单易上手的单元测试框架,…...

【牛客刷题记录】【JAVA】栈

(1) 用两个栈实现队列 链接 很简单,如果有元素进入队列,则将其进入stack1。如果要出队列,那么就需要判断stack2的情况。人与法国stack2为空,则直接把stack1的元素全放进stack2(相当于顺序反过来)&#xff…...

【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)

背景需求 最近带班,没有时间整理照片,偶尔导一次,几个月的照片。发现用电脑版“华为手机助手“中的WLAN连接”与华为手机的“华为手机助手”连接,速度更快、更稳定,不会出现数据线连接时碰碰就断网的问题 1、先打开电…...

62-Java-面试专题(1)__基础

62-Java-面试专题(1)__基础-- 笔记 笔记内容来源与黑马程序员教学视频 文章目录 62-Java-面试专题(1)__基础-- 笔记Java-面试专题(1)笔记中涉及资源: 一、二分查找①:代码实现1. 流程2. 代码实现3. 测试 ②:解决整数溢出(方法一&…...

快速构建数据产品原型 —— 我用 VChart Figma 插件

快速构建数据产品原型 —— 我用 VChart Figma 插件 10 种图表类型、24 种内置模板类型、丰富的图表样式配置、自动生成图表实现代码。VChart Figma 插件的目标是提供 便捷好用 & 功能丰富 & 开发友好 的 figma 图表创建能力。目前 VChart 插件功能仍在持续更新中&…...

登录—令牌技术

这里写目录标题 令牌技术2.4.1 JWT令牌2.4.2 jwt使用 令牌技术 令牌,其实它就是一个用户身份的标识,其实本质就是一个字符串。 如果通过令牌技术来跟踪会话,就可以在浏览器发起请求。在请求登录接口的时候,如果登录成功&#xff…...

NPOI 操作详解(操作Excel)

目录 1. 安装 NPOI 2. 使用 NPOI 创建新 Excel 文件 3. 设置列宽和行高 1. 设置列宽 2. 设置行高 3. 同时设置列宽和行高 4. 设置统一的行高 5. 设置统一的列宽 6. 应用统一的行高和列宽 4. 合并单元格 5. 设置单元格样式(字体、边框、背景色等&#xf…...

2024年北京海淀区中小学生信息学竞赛校级预选赛试题

2024年北京海淀区中小学生信息学竞赛校级预选赛试题 题目总数:24 总分数:100 编程基础知识单选题 第 1 题 单选题 关于 2024年海淀区信息学竞赛的描述错误的是( ) A.报名在网上报名系统进行 B.必须经过学籍所在学校的指导教师审核 C.学校…...

GPT-SoVITS 部署方案

简介 当前主流的开源TTS框架,这里介绍部署该服务的主要流程和我在使用过程中出现的问题。 使用的技术 Docker、Jupyter、Python、C# 部署 docker的使用 拉取命令 docker pull jupyter/base-notebook:python-3.10.11jupyter的访问 docker运行以后可以直接使用…...

pdf添加目录标签python(手动配置)

先安装对应的库: pip install pypdf 代码分为两个部分,一部分是config.py,代码如下: offset=10 catgorys=[("第一章",12),("第二章",45), ] 需要自己手动更改offset,和目录列表 下面是主要代码: import pypdf # import sys from config import…...

Ngrok 在树莓派上的配置与使用教程

Ngrok 是一个便捷的工具,用于将本地服务器暴露到互联网上,常用于开发和调试。 1. 更新树莓派 首先,更新树莓派的系统: sudo apt update sudo apt upgrade -y2. 安装 Ngrok (1)下载 Ngrok: 访…...

多核架构的基本概念

目录 1.为什么使用多核 2.多核分类 2.1 同构和异构 2.2 SMP和AMP 3 小结 1.为什么使用多核 这个问题个人认为可以从两个方面来看: 性能问题 随着汽车ECU对集成化的要求越来越高,把多个ECU功能集中到一个多核MCU的需求也越来越明显。 以汽车制动…...

yolov8模型推理测试代码(pt/onnx)

🦖yolov8训练出来的模型,不使用detect.py代码进行模型测试🦖 pt格式模型测试 import cv2 import os from ultralytics import YOLO # 定义输入和输出文件夹路径 input_folder /input/folder # 输入文件夹 output_folder /output/folder …...

二叉树 最大深度(递归)

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:root [1,null,2] 输出…...

C++详细笔记(五)

1.类和对象 1.1运算符重载(补) 1.运算符重载中,参数顺序和操作数顺序是一致的。 2.一般成员函数重载为成员函数,输入流和输出流重载为全局函数。 3.由1和2只正常的成员函数默认第一个参数为this指针而重载中参数顺序和操作数顺…...

终极XXMI启动器完整指南:一键管理所有米哈游游戏模组的免费神器

终极XXMI启动器完整指南:一键管理所有米哈游游戏模组的免费神器 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI启动器是一款专为米哈游系列游戏设计的模组管理平…...

VisualGGPK2终极指南:如何轻松编辑《流放之路》游戏资源文件

VisualGGPK2终极指南:如何轻松编辑《流放之路》游戏资源文件 【免费下载链接】VisualGGPK2 Library for Content.ggpk of PathOfExile (Rewrite of libggpk) 项目地址: https://gitcode.com/gh_mirrors/vi/VisualGGPK2 VisualGGPK2是一款专为《流放之路》玩家…...

深度探索:从基础GPIO到复杂机器人系统的STM32嵌入式开发实战指南

深度探索:从基础GPIO到复杂机器人系统的STM32嵌入式开发实战指南 【免费下载链接】Development-Board-C-Examples 项目地址: https://gitcode.com/gh_mirrors/de/Development-Board-C-Examples 在嵌入式开发的世界中,许多开发者面临一个共同挑战…...

MacType 2025:3大突破性改进让Windows字体渲染焕然一新

MacType 2025:3大突破性改进让Windows字体渲染焕然一新 【免费下载链接】mactype Better font rendering for Windows. 项目地址: https://gitcode.com/gh_mirrors/ma/mactype 还在为Windows系统下字体模糊、边缘粗糙而烦恼吗?MacType 2025版本带…...

保姆级避坑指南:在Ubuntu 20.04上搞定TensorRT 8.2.5.1和CUDA 11.3的版本匹配

深度解析Ubuntu 20.04下TensorRT 8.2.5与CUDA 11.3的兼容性实战在深度学习模型部署的实践中,TensorRT作为NVIDIA推出的高性能推理优化器,能够显著提升模型执行效率。然而,版本兼容性问题常常成为开发者面临的首要挑战。本文将聚焦Ubuntu 20.0…...

量子机器学习数据集构建:从核心要素到工程实践

1. 量子机器学习数据集构建:从分类到实践的核心思路量子机器学习(QML)这个领域,现在就像十年前的深度学习,概念很热,但真正能上手、能复现、能出成果的“基础设施”还非常稀缺。我接触过不少从经典机器学习…...

深度学习框架与编程语言选型指南:从TensorFlow、PyTorch到Java生态的实战解析

1. 项目概述在人工智能浪潮席卷全球的今天,机器学习与深度学习已不再是实验室里的概念,而是驱动产业变革、解决实际问题的核心引擎。无论是识别网络中的异常流量以抵御攻击,还是从海量数字证据中快速定位关键线索,这些技术都展现出…...

基于拓扑数据分析的脑电信号特征提取与癫痫样放电检测

1. 项目概述:从高维脑电信号到可解释的拓扑特征在神经科学和临床神经病学领域,脑电图(EEG)分析一直是诊断癫痫等神经系统疾病的核心手段。其中,发作间期癫痫样放电(Interictal Epileptic Discharges, IEDs&…...

C# AR应用性能优化三大硬核策略

1. 这不是“加个特效”就能解决的问题:AR应用卡顿背后的真实战场C# AR应用优化实战——这七个字,我盯着看了三分钟。不是因为难懂,而是因为太熟悉了。过去三年,我带过7个AR项目,从工业设备远程巡检到博物馆文物交互导览…...

Lovable移动端体验跃迁指南(2024年iOS/Android双平台实测数据验证)

更多请点击: https://intelliparadigm.com 第一章:Lovable移动端体验跃迁的范式变革 移动体验正从“可用”迈向“可恋”——Lovable 不再是情感修辞,而是以用户心智留存为标尺的技术范式重构。它要求交互具备可预测性、反馈具备呼吸感、动效…...