前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3+Scrapy爬虫实战(一)—— 初识Scrapy

python3+Scrapy爬虫实战(一)—— 初识Scrapy

作者头像
全栈程序员站长
发布2022-09-13 15:26:25
2980
发布2022-09-13 15:26:25
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

转载请注明作者和出处:https://blog.csdn.net/finn_wft/article/details/80881946

初识Scrapy

本人是一名Scrapy的爱好者和初学者,写这文章主要是为了加深对Scrapy的了解,如果文章中有写的不对或者有更好的方式方法欢迎大家指出,一起学习。

开发环境

运行平台:Windows 10 Python版本:Python 3.6.1 Scrapy版本:Scrapy 1.4.0 IDE:Sublime text3 浏览器:chrome


下面我们进入本文的主题,爬取我们的第一个网页“去哪儿”的酒店城市列表,图中红色框框部门。

这里写图片描述
这里写图片描述

创建项目

代码语言:javascript
复制
scrapy startproject qunar
这里写图片描述
这里写图片描述

红框中是指出创建一个新爬虫。

创建爬虫

代码语言:javascript
复制
cd qunar
scrapy genspider hotel bnb.qunar.com
这里写图片描述
这里写图片描述

自此,我们的项目算是基本创建好了,其中“hotel”是指爬虫的名称,“bnb.qunar.com”爬虫的域名。不过为了方便我们项目启动,可以在项目中新建一个entrypoint.py文件,文件内容如下:

这里写图片描述
这里写图片描述

项目结构图

这里写图片描述
这里写图片描述

创建Item

创建一个新的Item方便我们保存所爬取的数据,从爬取的页面中可以看出,我们需要两个数据就够了,一个是城市名称,另一个是城市对应的URL。 下面我们就来创建保存这两个数据Item:

这里写图片描述
这里写图片描述

上面QunarItem是由scrapy自动生成出来的,我们暂时先不管它,如果你想直接用系统创建的那个Item也是可以的。我这里是自己新创建一个,看起来比较好管理。

分析HTML

按F12进入开发者工具,在按Ctrl + Shift + c 进入元素查找状态,找到包裹我们要爬取内容的div,如图下所示:

从图中可以看出,A~Z分别在一个div中,所以我们只要解析出一个div那其他25个div也就解析出来了。然后,我们在从右侧中一层一层点进去,找到第一个城市“阿坝”,如下图所示:

这里写图片描述
这里写图片描述

通过对图的观察,可以发现,我们首先要找到包裹所以内容class=”b_allcity”的div,在从这个div中找到所有class=”e_city_list”的div,在从中找到所有“li”标签中的“a”标签,爬取“a”标签中的文本及“href”属性。

item我们已经创建好了,对HTML页面也进行了分析,下面就可以进入主题了“爬虫”,有点小激动。

爬取网页

打开spiders中的hotel.py文件。这文件是系统帮我们创建的,系统帮我们创建了一下关键代码。如图

这里写图片描述
这里写图片描述

下面我们只要对这么代码稍稍改动一点,并写出之前我们对HTML解析的代码就好了。如图:

这里写图片描述
这里写图片描述

本文中我使用的是“BeautifulSoup”来对HTML代码进行解析的,如果有没装“BeautifulSoup”的小伙伴可以在命令窗口中直接安装,安装代码:

代码语言:javascript
复制
pip install bs4

写到这里,代码就已经写完了,下面我们就来运行起来看看效果如何。 在命令窗口输入:

代码语言:javascript
复制
python entrypoint.py
这里写图片描述
这里写图片描述

结果:

这里写图片描述
这里写图片描述

从图中可以看出,我们要爬取的内容已经被我们爬取出来了。是不是觉得“so easy”呀!!!

文中代码部分都是用图片的,目的是希望小伙伴们可以直接上手自己敲,代码只有敲多了才能记得更牢,才能学的更快。 本文源代码会在下面给出,如果有什么不懂的地方可以直接下载源代码查看。 因为本人也是一名初学者,如果有什么好的建议欢迎大家在评论中写出,大家一起学习!

源代码下载

CSDN下载

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153119.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 初识Scrapy
    • 开发环境
      • 创建项目
        • 创建爬虫
          • 项目结构图
            • 创建Item
              • 分析HTML
                • 爬取网页
                  • 源代码下载
                  相关产品与服务
                  云开发 CLI 工具
                  云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档