Scrapy实战,利用Scrapy简单爬取新闻并将内容储存
工欲善其事,必先利其器
首先要先安装好scrapy框架包,参考https://blog.csdn.net/m0_46202060/article/details/106201764
1.Scrapy框架的基本操作
使用Scrapy框架制作爬虫一般需要以下四个步骤:
(1)新建项目:创建一个新爬虫项目 scrapy startproject ***
(2)明确目标:明确要爬取的目标 scrapy genspider 爬虫名称 “爬虫域”
(3)制作爬虫:制作爬虫,开始爬取网页 scrapy crawl 爬虫名称
(4)储存数据:储存爬取内容 scrapy crawl 爬虫名称 -o json/xml/jsonl/csv
(1) 新建项目
打开cmd,创建一个新项目:
scrapy startproject myspider01
(2)明确目标 (爬取新闻标题、时间、出版社)
首先切换到刚刚创建的工程路径下
scrapy genspider xinwen "news.sina.com.cn"
注意:“ ” 中内容必须为网址形式
然后我们打开pycharm查看:
这里自动生成了若干文件和目录
spiders:储存爬虫代码的目录
scrapy.cfg:配置文件
items.py:用于定义项目的目标实体
(3)制作爬虫
1.将地址更换为你想要爬取的网页地址
2.用xpath爬取网页内容
import scrapyfrom myspider01.items import Myspider01Itemclass XinwenSpider(scrapy.Spider):name = 'xinwen'allowed_domains = ['new.sina.com.cn']start_urls = ['https://news.sina.com.cn/gov/xlxw/2020-05-20/doc-iircuyvi4073201.shtml']def parse(self, response):item = Myspider01Item()item['title'] = response.xpath('//*[@id="top_bar"]/div/div[1]/text().extract()[0]')item['time'] = response.xpath('//*[@id="top_bar"]/div/div[2]/span[1]/text().extract()[0]')item['source'] = response.xpath('//*[@id="top_bar"]/div/div[2]/span[2]/text().extract()[0]')yield item
3.extract()方法返回的是对应的字符串列表
3.在items中添加对应属性title、time、source,分别表示新闻的标题、时间、来源
# -*- coding: utf-8 -*-# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass Myspider01Item(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()title = scrapy.Field()time = scrapy.Field()source = scrapy.Field()
4.在myspider01项目中创建一个main文件,用于执行语句
from scrapy import cmdline
cmdline.execute('scrapy crawl xinwen'.split())
这样就成功用scrapy框架将新闻爬取下来了!
另外,也可以直接在cmd命令行中直接运行,我们来看一下效果
scrapy crawl xinwen
(4)将爬取内容储存下来
这个很easy,直接将main文件中的代码做稍微修改即可:
同样,可以直接在cmd中执行命令:
scrapy crawl xinwen -o xinwen.xml
这样就会在项目文件中自动写入xml的文件
也可直接在pycharm中写入命令:
from scrapy import cmdline
cmdline.execute('scrapy crawl xinwen -o news.json'.split())
Scrapy实战,利用Scrapy简单爬取新闻并将内容储存相关推荐
- requests + bs4爬取新闻标题及内容
一.库的导入 from urllib.request import urlopen from bs4 import BeautifulSoup from urllib import parse imp ...
- php 爬取股票数据库,爬虫框架Scrapy实战一——股票数据爬取
简介 目标: 获取上交所和深交所所有股票的名称和交易信息. 输出: 保存到文件中. 技术路线:Scrapy爬虫框架 语言: python3.5 由于在上一篇博客中已经介绍了股票信息爬取的原理,在这里不 ...
- [爬虫实战]利用python快速爬取NCBI中参考基因组assembly的相关信息
1.问题导向 最近在做某个课题的时候,按老师的要求需要从NCBI中批量下载不同物种的参考基因组,同时收集相应参考基因组的一些组装信息,基因组非常多,导致工作量巨大,一个一个手动收集的话,既费时又费力, ...
- 利用Eclipse-Python简单爬取京东商城书籍信息进行可视化
[实验目的] 熟悉从网上爬取数据到将数据进行可视化的全部流程,通过实例了解并掌握每个过程. 了解爬虫爬取数据的原理,并选择一种语言编程,将数据获取到数据库. 熟练使用 eclipse 中 Java 语 ...
- 利用python的scrapy框架爬取google搜索结果页面内容
scrapy google search 实验目的 爬虫实习的项目1,利用python的scrapy框架爬取google搜索结果页面内容. https://github.com/1012598167/ ...
- php 爬取新闻,scrapy抓取学院新闻报告
接到上方任务安排,需要使用scrapy来抓取学院的新闻报告.于是乎,新官上任三把火,对刚学会爬数据的我迫不及待的上手起来. 任务 抓取四川大学公共管理学院官网(http://ggglxy.scu.ed ...
- Scrapy学习之第一个简单爬取小程序
1.首先,先安装scrapy模块,使用命令:pip install scrapy,安装如果出现error: Microsoft Visual C++ 14.0 is required错误的话可参考文章 ...
- scrapy简单爬取内容
scrapy的简单爬取不用新建项目.安装好scrapy后编写爬虫文件 import scrapyclass ZaobaoScrapy(scrapy.Spider):name = "zaoba ...
- scrapy汽车之家车型的简单爬取
汽车之家车型的简单爬取 spider # -*- coding: utf-8 -*- import scrapy from scrapy import Request from mininova.it ...
- Scrapy笔记十二:简单爬取苏宁书籍网站
文章目录 简单爬取苏宁书籍网站 参考网址: 整个爬取过程思路: 未解决的问题: 代码如下: 简单爬取苏宁书籍网站 参考网址: 网址1:https://book.suning.com/ 网址2:http ...
最新文章
- android中xml文件的生成与读取(Pull)
- 详解Adorner Layer(zz)
- html登录后记住用户名,完成登录功能,用session记住用户名
- 类似ajax封装函数,JS 封装一个async式的AJAX函数
- Centos6.8编译安装LNMP环境
- 基于JAVA+SpringMVC+Mybatis+MYSQL的现代史网站设计
- Linux负载均衡软件LVS(概念篇)
- oracle sql between and 范围,oracle between and 边界有关问题
- LeetCode:每日一题——数位成本和为目标值的最大数字
- 我和Linux,不得不说的故事
- [概率统计]商务与经济统计知识点总结 Part 1
- c语言入门题目:输出两行短句
- 想开发一套多人交友app必须知道的
- 手把手教你安装vivado2015.4开发环境
- 无线路由器的基础配置(三)
- 话说当时武松踏住蒋 水浒传
- chome浏览器中,console报错却不显示错误
- 为什么一般公司面试结束后会说「回去等消息」,而不是直接告诉面试者结果?
- 论CRM免费软件的弊端
- 零基础转行成功的前辈写给测试新手的话
热门文章
- (转)图文详解手把手教你在Windows环境下下载Android源码(Launcher为例)
- 增强现实:原理算法与应用 第一章增强现实概论笔记
- opencv打开双目,采集标定双目的图片
- 杜克大学用13幅图告诉你人生的真谛,值得深思!
- 扇贝有道180628每日一句
- Atitit office Ooxml excel标准的主要内容 目录 1.1. 物理存储 zip+文件夹包+xml	1 1.2. Package Structure	1 1.3. 内容部分	1
- Atitit 架构的原则attilax总结
- Atitit j2ee5 jee5 j2ee6 j2ee7 jee6 jee7 新特性
- paip.mysql 全文索引查询空白解决
- PAIP。AHK IDE及相关DOC