首页 > 其他分享 >scrapy的入门

scrapy的入门

时间:2023-11-24 18:13:03浏览次数:46  
标签:node xpath bqb 入门 temp text scrapy

0,scapy的安装

pip install scrapy

注意安装的过程可能会有一些错误,需要尝试多次解决

1,创建工程项目

scrapy startproject demo

demo是项目的名称

2,创建爬虫

cd bqb
项目根目录下执行如下命令
scrapy genspider bqb www.itcast.com

bqb表示爬虫的名称
www.itcast.com表示爬去的站点

3,项目目录结构

4,实例代码

bqb.py中编写代码如下

'''---------------------------------
# @Date:   2023-10-25 16:39:05
# @Author: Devin
# @Last Modified: 2023-11-24 17:33:46
------------------------------------'''
import scrapy
from demo.items import DemoItem
from scrapy.pipelines.images import ImagesPipeline

class Myspider(scrapy.Spider):
	name='bqb'
	# 2,检查域名
	allowed_domains=["itcast.cn"]
	# 1,修改起始url
	start_urls=["https://www.itcast.cn/channel/teacher.shtml"]

	# 3,实现爬去逻辑
	def parse(self,response):
		# 定义对于网站的相关操作
		# 获取所有教师的节点
		node_list=response.xpath("//div[@class='li_txt']")

		# 遍历教师节点
		for node in node_list:
			temp={}
			# xpath方法返回的是选择器对象列表
			# temp["name"]=node.xpath("./h3/text()").extract_first()  #防止空列表报错
			temp["name"]=node.xpath("./h3/text()")[0].extract()
			temp["title"]=node.xpath("./h4/text()")[0].extract()
			temp["desc"]=node.xpath("./p/text()")[0].extract()
			print(temp)
            #yield temp

5,运行爬虫

scrapy crawl bqb --nolog

6,实例结果

标签:node,xpath,bqb,入门,temp,text,scrapy
From: https://www.cnblogs.com/reaptem/p/17854435.html

相关文章

  • quickjs入门学习
    由于最近在学习quickjs,把学习过程中遇到的问题和功能验证的过程都记录下来,这篇是quickjs入门学习的目录导航。  本文地址:https://www.cnblogs.com/wunaozai/p/17853962.html......
  • 万字长文:从 C# 入门学会 RabbitMQ 消息队列编程
    RabbitMQ教程 目录RabbitMQ教程RabbitMQ简介安装与配置安装RabbitMQ发布与订阅模型生产者、消费者、交换器、队列多工作队列交换器类型DirectFanoutTopic交换器绑定交换器消费者、消息属性Qos、拒绝接收消息确认模式消息持久化消息TTL时......
  • postgresql从入门到精通 - 第35讲:中间件PgBouncer部署|PostgreSQL教程
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。 第35讲:中间件PgBouncer部署11月25日(周六)19:30-20:30,往期......
  • cocos creator新手入门教程:如何绑定参数到编辑器
    很多cocoscreator同学不知道如何绑定组件属性到编辑器上,今天我们来教大家如何绑定1:基本数据属性绑定到编辑器这个非常简单,模板是属性名字:默认的值;Is_debug:false,speed:100,2:系统组件类型与节点绑定到编辑器属性名字:{type:组件类型(cc.Sprite,cc.Label,cc.......
  • 不用编程超简单的自动化测试工具:Airtest入门篇教程
    一、背景很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别。也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选择的做测试。亦或者由于从其他行业转行过来的,隔行如隔山,编程太痛苦。那......
  • Markdown入门教程
    在这个网络时代,每个人多少都得掌握一些互联网编辑语言,今天我就从0开始,带着大家入门一个比较简单的编辑语言——MarkdownMarkdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出HTML、PDF以及本身......
  • 快速入门CMake
    一、CMake简介​ 使用简单方便,可以跨平台,构建项目编译环境。尤其比直接写Makefile简单(在构建大型工程编译时,需要写大量的文件依赖关系),可以通过简单的CMake生成负责的Makefile文件。二、CMake安装​ ubuntu上直接执行sudoaptinstallcmake安装完成,可以通过cmake-version查......
  • Handler 源码解析,从入门到几乎入门
    AndroidHandler源码解析在Android中,Handler是一种强大的机制,用于在不同的线程之间进行通信。通过Handler,你可以轻松地将任务从一个线程发送到另一个线程,通常用于在后台线程执行任务后更新UI。同时handler机制也是Android主线程运行的原理,了解了主线程的运行原理也就可以知道l......
  • FPGA入门笔记006——状态机设计实例
    状态分析:状态1:等待“H”的到来,如果检测到“H”,进入状态2,检测“e”,否则一直等待“H”;状态2:检测当前字符是否是“e”,如果是“e”,跳转到状态3,检测“l”,否则,回到状态1,重新等待“H”;状态3:检测当前字符是否是“l”,如果是“l”,跳转到状态4,检测“l”,否则,回到状态1,重新等待“H”;状态4:......
  • 刘金玉QT学习笔记:6-sqlite简易入门+QT结合使用
    //第一篇,测试一下1.Sqlite-linux自带-轻量级-关系型数据库2.安装-进入官网后点击Downloads-下载下图的两个zip,解压后把里面的文件放到C盘下自创一个sqlite的文件夹3.通过命令行使用sqlite3.exe来使用数据库-配环境变量作用:不用进入路径位置就可以打开(sqlite)4.基本......