转载请注明作者和出处:

https://blog.csdn.net/finn_wft/article/details/80881946​blog.csdn.net

初识Scrapy

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

开发环境

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

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

创建项目

scrapy startproject qunar

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

创建爬虫

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”的小伙伴可以在命令窗口中直接安装,安装代码:

pip install bs4

写到这里,代码就已经写完了,下面我们就来运行起来看看效果如何。

在命令窗口输入:

python entrypoint.py

结果:

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

scrapy如何指定生成python3的项目_python3+Scrapy爬虫实战(一)—— 初识Scrapy相关推荐

  1. scrapy如何指定生成python3的项目_新手学习scrapy的坑(都是泪)

    早就听说scrapy是爬虫界的明星框架,就好比80后一定知道周杰伦,00后一定知道tfboy一样(为啥没有90后,不要问我为什么,不想说~,就是这么任性).但凡爬虫相关的工作要求都会要求涉及到scra ...

  2. scrapy如何指定生成python3的项目_如何把阿里图标库的图标生成代码并应用于自己的项目...

    有时候需要用很多图标去完成一定的页面效果和工作展现,框架内置的图标可能满足不了我们的需求,有个很好的图标库想必大家都知道-----就是阿里图标库.那么我们如何才能够把阿狸图标库的图标引用到自己的项目中 ...

  3. python3爬虫实战姚良_Python3.X 爬虫实战(缓存与持久化)

    [工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 不知不觉关于 Python 3.X 爬虫系列已经介绍了如下系列: ...

  4. python爬虫实战:利用scrapy,短短50行代码下载整站短视频

    近日,有朋友向我求助一件小事儿,他在一个短视频app上看到一个好玩儿的段子,想下载下来,可死活找不到下载的方法.这忙我得帮,少不得就抓包分析了一下这个app,找到了视频的下载链接,帮他解决了这个小问题 ...

  5. 零基础学python实战-Python3零基础入门到爬虫实战

    购买福利 各位小伙伴可以加入QQ群获得课程课件图文资料,并且在群里面与其他小伙伴进行交流,QQ群请在购买成功后加小狮妹的QQ(3400982550)获取. 学习本基础课程后,小伙伴如果想要进一步进行实 ...

  6. Python3网络爬虫1:初识Scrapy

    转载出处:https://blog.csdn.net/c406495762/article/details/72858983 官方:https://scrapy-chs.readthedocs.io/ ...

  7. mac python3.8怎样安装scrapy_Python爬虫与mac下Scrapy配置

    用Python开发爬虫很方便. 本质:抓取---分析---存储 要点: (1)get请求:最基本抓取.用到 urllib  urllib2  requests  httplib2 . (2)表单登陆: ...

  8. python3爬小说_python3小说爬虫

    作为一个很喜欢看书的人,有时候在网页上看小说,会被数不胜数的广告弄的很烦,刚好最近在研究python,就自己写了一个小说爬虫,并用pyqt做了图形界面. 下面介绍一下主要思路,不过就不开源了,因为我的 ...

  9. 如何从数据库中筛选出达成指定里程碑节点的项目_复盘|项目管理实战经验总结...

    最近负责的两个长达半年多的项目终于阶段性闭环交付,心里的石头落下了一大半.回顾这半年多,作为项目负责人的项目管理过程,心中五味杂陈.有因项目风险不确定性的焦虑感,也有因能掌控项目进度和质量的成就感,有 ...

  10. Python爬虫实战之利用Scrapy框架爬取传智播客课程数据

    1.文件结构: 2.lesson.py代码 import scrapy from ts.items import TsItem from scrapy.http import Requestclass ...

最新文章

  1. BAT“上山下乡”,用AI“打入政府”
  2. 最前沿:大规模深度强化学习的发展
  3. Codeforces 486D D. Valid Sets
  4. c++ 字符串数组长度排序_C指针和字符串数组
  5. 低配服务器装那个系统吗,用低配服务器好还是高配vps
  6. java filter 模式,Java设计模式----过滤器模式(挑三拣四)
  7. gcc学习(一)[第二版]
  8. [禅悟人生]鹰和蜗牛都能登上金字塔尖
  9. 9、从命令行运行postman脚本及生成测试报告
  10. linux怎么更改rpcbind端口号,rpcbind_rpcbind服务是什么_rpcbind 端口
  11. 1.4.1用空间向量研究直线、平面的位置关系教学设计
  12. 关于Axure原型在Axure share上的尺寸问题。
  13. 视频分割技巧,把视频分割成多段进行保存
  14. 正在解析主机/打开网页慢,有可能是你的虚拟机网卡的问题
  15. [js项目]封装库-连缀
  16. 如何开启红米手机4X的ROOT超级权限
  17. 查看及更改计算机名或域,如何查看和修改计算机名、域和工作组
  18. 如何编写Junit测试代码
  19. KingbaseES V8R6集群运维案例---数据块故障自动修复(auto_bmr)
  20. 男导师的妻子叫“师母”,那么女导师的丈夫怎么称呼?

热门文章

  1. 苹果mac思维导图软件:mindmanager
  2. iOS开发之错误码国际化
  3. 如何将 Mac Dock 恢复到原始设置?
  4. 使用KeyShot调整一个场景中的照明亮度
  5. 01数据结构——绪论
  6. js复制功能的有效方法总结
  7. Linux多线程同步之相互排斥量和条件变量
  8. 居中 html css
  9. 《转》Babel 入门教程
  10. POJ 3264 -----RMQ问题