Ubuntu 20.04中用scrapy爬取博客园新闻首页的简单示例

news2025/1/13 3:31:38

一、梳理scrapy项目目录创建:

1、命令行终端定位到pycharm主目录:cd PycharmProjects

2、建立项目名称:scrapy startproject searchArticle

3、定位到项目目录下:cd searchArticle

4、设置爬虫名称与欲爬取的域名地址:scrapy genspider blogs news.cnblogs.com

5、打开pycharm,点击文件—>打开,选取该项目的地址,项目目录结构即打开。

6、在项目目录中创建一个源文件main.py,用于启动爬虫。

二、示例代码:

1、爬取博客园新闻首页标题的代码(blogs.py)

import scrapy


class BlogsSpider(scrapy.Spider):
    name = "blogs"
    allowed_domains = ["news.cnblogs.com"]
    start_urls = ["http://news.cnblogs.com/"]

    def parse(self, response):
        urls = response.xpath('//*[@id="news_list"]//h2[@class="news_entry"]/a/text()').extract()
        for url in urls:
            print(url)

2、启动爬虫的代码(main.py)

from scrapy.cmdline import execute

execute(['scrapy', 'crawl', 'blogs'])

3、运行main.py

三、运行结果:

四、要点注释与总结:

依照以上步骤用命令行创建项目,模板代码自动生成。关键代码文件blogs.py中,只需要为BlogsSpider类的parse方法中添加提取数据的xpath表达式,然后遍历出来每个新闻标题即可。

所以学爬虫框架scrapy,熟练Python基础中的面向对象的编程方法与提取数据的xpath表达式是关键要点。

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

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

相关文章

z3-加法器实验

补码器加减法,运算方法简介 我们要知道什么是补码的加法,我们为什么要用补码的加法? 补码的加法其实就是将两个补码形式的二进制数字直接相加,处理的时候忽略超出固定位数的进位。补码的加法运算和无符号二进制数的加法操作一样&…

Postgresql 基础学习

一、介绍 PostgreSQL是一个开源的关系型数据库管理系统(RDBMS),它支持SQL语言的所有功能,具有可扩展性、高并发性和可靠性等特点。 以下是一些 PostgreSQL 的特点: 开源:PostgreSQL是一个非常受欢迎的开源…

就业信息|基于SprinBoot+vue的就业信息管理系统(源码+数据库+文档)

就业信息管理系统 目录 基于SprinBootvue的就业信息管理系统 一、前言 二、系统设计 三、系统功能设计 1前台功能模块 2后台功能模块 4.2.1管理员功能 4.2.2学生功能 4.2.3企业功能 4.2.4导师功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设…

Optica数据库 (原OSA美国光学学会电子期刊)文献去哪里查找下载

Optica(OSA)数据库涵盖了光学和光子学理论研究和实际应用的各个领域,包括:光学设备、光学成像、光纤通信、分析方法、光通信、光纤、半导体激光、光传输、光学系统、计量学、带宽、量子电子学。 该库包括18种学会期刊&#xff08…

民国漫画杂志《时代漫画》第20期.PDF

时代漫画20.PDF: https://url03.ctfile.com/f/1779803-1248634712-9963d9?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

ubuntu20.04 开机自动挂载外加硬盘

文章目录 一、问题描述二、操作1. 查找新添盘符2. 格式化硬盘文件系统3. 挂载硬盘4. 开机自动挂载5. 取消挂载6. 查看挂载的硬盘信息 一、问题描述 因电脑使用一段时间后自身硬盘不足,需外加硬盘使得电脑自动识别加载。 二、操作 1. 查找新添盘符 sudo blkid自己…

Google Play开发者账号被封关联风险分析以及提高上包成功率方法

一:谷歌通过多种方法判断应用是否为马甲包或存在关联,但具体算法和方法并没有对外公开,以下是一些可能属性: 1、开发者账号资料 开发者的身份,付款银行卡,绑定的手机号,辅助邮箱等,其中收款账户还是在其中…

吉时利2401新款(keithley)2410数字源表 原装二手

吉时利2401数字源表 Keithley 2401 数字源表 Keithley吉时利数字源表 先进电气测试仪器与系统的吉时利仪器公司发布了专为低电压测试而优化的低成本方案,扩展了其广受工程师赞誉的2400系列数字源表产品线。与所有吉时利SMU(源测量单元)仪器…

python 分而治之(施特拉森矩阵乘法)

给定两个大小分别为 nxn 的方阵 A 和 B,求它们的乘法矩阵。 朴素方法:以下是两个矩阵相乘的简单方法。 def multiply(A, B, C): for i in range(N): for j in range( N): C[i][j] 0 for k in r…

创建python字典的两种方法:直观与函数式

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、直观创建法:直接定义键值对 二、函数式创建法:使用内置函数dict…

Linux——进程与线程

进程与线程 前言一、Linux线程概念线程的优点线程的缺点线程异常线程用途 二、Linux进程VS线程进程和线程 三、Linux线程控制创建线程线程ID及进程地址空间布局线程终止线程等待分离线程 四、习题巩固请简述什么是LWP请简述LWP与pthread_create创建的线程之间的关系简述轻量级进…

【产品经理】如何培养对市场的洞察力

引言:        在最近频繁的产品管理职位面试中,我深刻体会到了作为产品经理需要的不仅仅是对市场和技术的敏锐洞察,更多的是在复杂多变的环境中,如何运用沟通、领导力和决策能力来引导产品从概念走向市场。这一系列博客将分享…

基于springboot+html的二手交易平台(附源码)

基于springboothtml的二手交易平台 介绍部分界面截图如下联系我 介绍 本系统是基于springboothtml的二手交易平台,数据库为mysql,可用于毕设或学习,附数据库 部分界面截图如下 联系我 VX:Zzllh_

深入解析力扣162题:寻找峰值(线性扫描与二分查找详解)

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

3D视觉技术|螺栓分拣测试

随着制造业自动化程度的不断提高,某大型汽配企业为提升生产效率、减少人力成本,提出了使用复合机器人完成螺栓分拣的需求。富唯智能通过采用复合机器人,结合3D工业相机和高性能控制器,实现螺栓的自动抓取,从而提升生产…

全网讲的最详细的Docker镜像分层存储原理

先说结论,容器镜像分层存储图示 欢迎关注 实验环境准备 当前实验docker版本24.0.7如下,当前docker版本使用overlay2机制存储镜像 Client: Docker Engine - CommunityVersion: 24.0.7API version: 1.43Go version: go1.20.10…

STM32电机驱动模块(L9110S)

一、L9110S简介 L9110S是一种常用的双通道H桥电机驱动器集成电路,用于控制直流电机的方向和速度。它可以同时控制两个电机,每个通道最大可输出800mA的电流。L9110S具有高效的电源管理和过流保护功能,可以保护电路免受电机反冲电流的损害。它…

springcloud第4季 springcloud-gateway网关predict案例场景

一 predict案例场景 1.1 说明 本博客所有案例操作,都在上篇博客的基础上进行: springcloud第4季 springcloud-gateway网关的功能作用_cloud gateway干嘛的-CSDN博客 1.2 案例前提准备 1. 启动zipkin服务 2.启动consul服务 3.启动3个应用服务 二 …

Python中别再用 ‘+‘ 拼接字符串了!

大家好,在 Python 编程中,我们常常需要对字符串进行拼接。你可能会自然地想到用 操作符将字符串连接起来,毕竟这看起来简单明了。 在 Python 中,字符串是不可变的数据类型,这意味着一旦字符串被创建,它就…

【游戏引擎】Unity脚本基础 开启游戏开发之旅

持续更新。。。。。。。。。。。。。。。 【游戏引擎】Unity脚本基础 Unity脚本基础C#语言简介C#基础 Unity脚本基础创建和附加脚本MonoBehaviour生命周期生命周期方法 示例脚本 Unity特有的API常用Unity API 实践示例:制作一个简单的移动脚本步骤1:创建…