下图是2018年5月25日火箭和勇士西决G5时,火箭赢下天王山之战,虎扑NBA的首页。

我这次做的爬虫项目的目的就是:爬取图片中红色边框里的文字,然后txt文本的方式保存到本地。

接下来我介绍一下我完成这个工作的全过程。

1.介绍怎么完成这个工作之前,我必须得介绍一下Scrapy框架的构成。

Scrapy框架总的来说是由7个部分组成,即5+2的结构。

其中5是指:SPIDERS、ENGINE、SCHEDULER、DOWNLOADER、ITEM_PIPELINES.

2是指:Downloader Middlewares和Spider Middlewares.

其结构图如下:

2.其实我们并不要了解它是怎么构成的。我们只需要掌握创建爬虫最主要的方法是什么就行了。

不同于一般的框架,比如Java中的SSM,SSH框架。它们都是在IDE中配置和使用的。Scrapy框架的使用一般是在CMD中,一般是在.py文件的编辑器中使用的。我用的文本编辑器是Sublime Text。

3.现在正式开始讲怎么利用scrapy的命令,创建一个爬虫程序的框架。

首先,我们创建一个工程,我的工程名叫LOLMovie,在一个工程里可以有很多个爬虫程序。

创建一个工程的命令为:scrapy startproject LOLMovie(请在一个自己熟悉的文件夹下创建,防止找不到)

其次,我们cd LOLMovie,进入工程,创建一个爬虫程序,我的名字叫heifei01MovieSpider.

创建一个爬虫的命令为:scrapy genspider heifei01MovieSpider nba.hupu.com.

然后你就能看见在文件夹下的结构如下:(我是在D:\pycode下创建工程 的)

可能比较乱,大家将就着看一下。简单说一下这些文件的关系。我们需要关系的文件只有四个。就是items.py、settings.py、pipelines.py、hefei01MovieSpider.py文件。

其中items.py决定爬取哪些项目,settings.py决定由谁去爬,hefei01MovieSpider.py决定怎么爬,pipelines.py决定爬取后的内容怎么处理。 

   我们先配置items.py文件,如下图所示。

我们需要爬取名字,则命名一个变量movieName。如果需要爬取url连接,则可再命名一个urlName = scrapy.Field().这是配置文件给出的格式(在上面的注释部分)。

再配置hefei01MovieSpider.py文件,如下图所示。

我这里用的是xpath选择器,也可以用其他的选择器。

接下来配置pipelines.py文件,如下图所示。

最后我们配置settings.py文件。只用在原来的文件中找到一行如下所示的注释。去掉注释即可。

当有多个项目时,后面的数字越小,优先级越高。我们因为只有这一个项目,所以数字设成多少都可以。

最后我们回到命令行,在工程目录下输入,scrapy crawl hefei01MovieSpider,运行即可出结果。如下图所示。

至此,我们的爬虫项目结束。

其实也可以在命令行中对中间的结果进行调试,我们输入scrapy shell http://nba.hupu.com

然后输入:subSelector = response.xpath('//div[@class="listNews"]')

再输入:print(subSelector)(此处是python3的输出格式),看看subSelector是什么

在输入:print(subSelector[0].xpath('./dl/dd/a/text()').extract()),看看爬出来的东西是什么。

Scrapy框架入门之爬取虎扑体育的新闻标题相关推荐

  1. python2爬取虎扑NBA的新闻标题和内容发送到QQ邮箱

    继之前分享了如何爬取虎扑新闻标题和内容,现在实现一下如何发送到QQ邮箱. 其实很简单啦,去自己的QQ邮箱账号设置里面开通一下SMTP.POP3啥的,然后生成一串只能你自己知道的授权码,使用这个授权码和 ...

  2. scrapy框架爬取虎扑论坛球队新闻

    目录 Scrapy 框架 制作 Scrapy 爬虫 一共需要4步: Scrapy的安装介绍 Windows 安装方式 一. 新建项目(scrapy startproject) 二.明确目标(mySpi ...

  3. 【Python爬虫系列教程 11-100】Python网络爬虫实战:最简单的Pandas 中的read_html一行代码爬取网页表格型数据,就可以爬取虎扑体育NBA球员信息

    文章目录 爬取对象 分析 实现代码 爬取对象 虎扑是一个认真而有趣的社区,每天有众多JRs在虎扑分享自己对篮球.足球.游戏电竞.运动装备.影视.汽车.数码.情感等一切人和事的见解,热闹.真实.有温度. ...

  4. 【爬虫实践】记一次Scrapy框架入门使用爬取豆瓣电影数据

    本次的学习分享主要是使用一次Scrapy框架,毕竟在很多次的时候,自己在提取一些或是需要实验数据的时候,数据量要求不大,很快便能通过简单的request等库进行调用,然后获取数据. 这次,则是想要使用 ...

  5. scrapy框架入门(爬取itcast实例)

    一.简介 官方文档 crapy Engine(引擎): 负责Spider.ItemPipeline.Downloader.Scheduler中间的通讯,信号.数据传递等. Scheduler(调度器) ...

  6. 使用Scrapy爬取虎扑爆照区的照片

    笔者最近在学习爬虫框架Scrapy,发现Scrapy的Pipeline自带一个图片下载器,便想能否自己实战爬取虎扑爆照区的照片 首先是页面分析 今天我们爬取的网页是https://bbs.hupu.c ...

  7. python爬虫爬取虎扑湖人论坛专区帖子数据,并存入MongoDB数据库中

    今天就带大家从头到尾一步一步带着大家爬取虎扑论坛帖子的数据,里面涉及到的一些知识,我会给出学习的连接,大家可以自行去学习查看. 前期准备 首先我们打开虎扑NBA论坛,我选择的是湖人专区(小湖迷一个). ...

  8. 爬取虎扑网站上NBA球员数据信息

    爬虫案例的一般步骤 1.确定url地址(网页分析)爬虫程序就完成了一半 2.发送网络请求 requests(js\html\css) 3.数据解析(筛选数据) 4.保存数据(本地文件\数据库) 本次爬 ...

  9. 爬取虎扑社区-晒晒照片

    爬取虎扑社区-晒晒照片 网上看到这个消息,顺便想试试手就做了这个 环境是MacOS + Anaconda (python 3.7) 就是练练手,网不好的时候会有bug 提示:类型错误Attribute ...

最新文章

  1. 从刘备面试诸葛亮看信息系统项目管理师
  2. SQL SERVER2000将多行查询结果拼接到一行数据及函数的创建
  3. Linux 内核系统架构
  4. PHP笔记-使用PHPStorm断点调试php代码
  5. 甜甜的爱情+美食完美情人节海报,PSD分层模板轻松搞定设计,拿去用!
  6. c语言sort可以给字符排序吗,字符串排序 (C++代码)sort的第三个参数
  7. 20171113_Python学习五周一次课
  8. 【转】卡巴斯基安全公告称甲骨文数据库存在加密漏洞
  9. head first java 03 ( 6 章 )
  10. Mongodb JAVA API
  11. 中科院信工所 考研面试经验贴
  12. Drain基于固定深度解析树
  13. 附加支付和统筹支付_医保附加支付是什么意思?
  14. css盒心形的代码过程,如何使用CSS和D3实现用文字组成的心形动画效果(附代码)...
  15. MacOS没有管理员账号的解决方法
  16. 【Git】分支概念及操作
  17. 如何隐藏控制台程序的窗口
  18. 利用bat批处理做启动mongodb脚本
  19. 用Ai做出素描关系的3个圆
  20. 如何关闭iOS系统自动更新提示?

热门文章

  1. 安科瑞预付费系统的实际设计与应用
  2. 中科大徐童:AI×Talent数据驱动的智能人才计算
  3. centos安装aria2c_CentOS下搭建Aria2远程下载环境
  4. 类似帝国时代的java游戏_有哪些类似《帝国时代》系列的好游戏推荐?
  5. 电脑手机模拟器模拟手机浏览器,在线浏览手机网站
  6. MMTool制作Ozmosis引导BIOS完美引导OS X系统
  7. 上海调整私车额度参拍条件:申请前一年内无交通违法行为记录
  8. Python+Excel+VBA实现批量自助生成名牌
  9. python批量裁剪图片_python批量裁剪图片
  10. BetaFlight模块设计之三十三:Pid模块分析