首页 > 其他分享 >scrapy爬取数据并保存中文

scrapy爬取数据并保存中文

时间:2023-11-27 17:47:39浏览次数:32  
标签:node xpath 中文 temp self json 爬取 item scrapy

通过前面的学习拿到数据问题不大,本帖是记录如何保存到文件以及保存成中文的操作。

1,bqb.py爬虫文件实例代码

'''---------------------------------
# @Date:   2023-10-25 16:39:05
# @Author: Devin
# @Last Modified: 2023-11-27 16:26:06
------------------------------------'''
import scrapy
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()

			yield temp

2,pipelines.py管道代码实例

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html

# useful for handling different item types with a single interface
import json
import codecs

class DemoPipeline(object):
	def __init__(self):
		self.file=codecs.open("itcast.json",'wb',encoding="utf-8")

	def process_item(self, item, spider):
		# item,源于bqb.py的返回

		# 字典数据序列化
		json_data=json.dumps(dict(item),ensure_ascii=False)+",\n"

		# 写入文件
		self.file.write(json_data)
		return item

	def __del__(self):
		self.file.close()

3,settings.py配置文件修改(2处)

ITEM_PIPELINES = {
	# 100,管道优先级,越小优先级高
   "demo.pipelines.DemoPipeline": 100,
}

FEED_EXPORT_ENCODING ='utf-8'

4,结果实例

标签:node,xpath,中文,temp,self,json,爬取,item,scrapy
From: https://www.cnblogs.com/reaptem/p/17859928.html

相关文章

  • Unicode码转中文
    具体代码(将原本的Unicode码的结果转成中文)Stringstr=en;Patternpattern=Pattern.compile("(\\\\u(\\w{4}))");Matchermatcher=pattern.matcher(str);while(matcher.find()){StringunicodeFull=matcher.group(1);......
  • 本地训练,立等可取,30秒音频素材复刻霉霉讲中文音色基于Bert-VITS2V2.0.2
    之前我们使用Bert-VITS2V2.0.2版本对现有的原神数据集进行了本地训练,但如果克隆对象脱离了原神角色,我们就需要自己构建数据集了,事实上,深度学习模型的性能和泛化能力都依托于所使用的数据集的质量和多样性,本次我们在本地利用Bert-VITS2V2.0.2对霉霉讲中文的音色进行克隆实践。霉......
  • SecureCRT解决中文显示乱码
    解决步骤:一、点击Option-->GlobalOption-->Defaultsession-->EditDefaultsession-->参考下图设置。、 二、点击上图Font,参考下图设置(选其他英文字体不一定能正常显示中文) 三、如果还不行,重新打开一个新窗口。翻译搜索复制......
  • Xshell终端中文乱码解决方法
    Xshell是用于远程连接Linux的终端软件。使用过程中会出险乱码的问题,主要原因是Xshll与Linux编码不一致导致的。解决办法如下:使用locale命令查看Liunx编码;修改Xshell编码选择会话,鼠标右键点击属性;选择“终端”,选择与Linux一致的编码;确定,重新连接Linux全文完......
  • Clion的中文编码问题
    此文章用于解决Clion编译源代码后运行显示乱码问题!首先打开设:全部改为UTF-8再将文件的编码改为GBK:最后运行:......
  • Centos7 系统 /etc/fstab配置文件中文件系统类型错误导致进入紧急模式如何解决
    在格式化分区是我选择的ext4文件格式对分区sdc2进行了格式化,但是在写入配置文件是选择的文件格式是xfs,这导致了我的虚拟机进入系统时直接进入了紧急模式输入root密码进行维护,可以发现出现了命令窗,由于知道错误原因,所以可以直接从根源入手打开配置文件vim/etc/fstab我对设备......
  • python+playwright爬取招聘网站
    一、简介:以获取智联招聘网北京、上海、广州、深圳的“数据分析”相关岗位的招聘信息为例,以下是效果实现。二、流程及代码实现(一)playwright模块安装或者在cmd中输入命令pipinstallplaywright安装完成后还需要安装playwright的浏览器驱动在cmd中输入命令playwrightinstall,等待即可......
  • TortoiseSVN 官网打不开,去哪下最新的软件和中文包?
    官网:https://tortoisesvn.net能打开最好,但通常打不开,打不开时候去这个网站下;https://sourceforge.net/projects/tortoisesvn/这个网站开发软件的应该很熟悉了,就是专门下载的网盘那一类,有10多年了吧   ......
  • scrapy的入门
    0,scapy的安装pipinstallscrapy注意安装的过程可能会有一些错误,需要尝试多次解决1,创建工程项目scrapystartprojectdemodemo是项目的名称2,创建爬虫cdbqb项目根目录下执行如下命令scrapygenspiderbqbwww.itcast.combqb表示爬虫的名称www.itcast.com表示爬去的......
  • DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(下)
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。DevExpressReports—跨平台报表组件,允许用户在针对任何基于.NET平台的应用程序中生成......