scrapy如何指定生成python3的项目_python3+Scrapy爬虫实战(一)—— 初识Scrapy
转载请注明作者和出处:
https://blog.csdn.net/finn_wft/article/details/80881946blog.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相关推荐
- scrapy如何指定生成python3的项目_新手学习scrapy的坑(都是泪)
早就听说scrapy是爬虫界的明星框架,就好比80后一定知道周杰伦,00后一定知道tfboy一样(为啥没有90后,不要问我为什么,不想说~,就是这么任性).但凡爬虫相关的工作要求都会要求涉及到scra ...
- scrapy如何指定生成python3的项目_如何把阿里图标库的图标生成代码并应用于自己的项目...
有时候需要用很多图标去完成一定的页面效果和工作展现,框架内置的图标可能满足不了我们的需求,有个很好的图标库想必大家都知道-----就是阿里图标库.那么我们如何才能够把阿狸图标库的图标引用到自己的项目中 ...
- python3爬虫实战姚良_Python3.X 爬虫实战(缓存与持久化)
[工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 不知不觉关于 Python 3.X 爬虫系列已经介绍了如下系列: ...
- python爬虫实战:利用scrapy,短短50行代码下载整站短视频
近日,有朋友向我求助一件小事儿,他在一个短视频app上看到一个好玩儿的段子,想下载下来,可死活找不到下载的方法.这忙我得帮,少不得就抓包分析了一下这个app,找到了视频的下载链接,帮他解决了这个小问题 ...
- 零基础学python实战-Python3零基础入门到爬虫实战
购买福利 各位小伙伴可以加入QQ群获得课程课件图文资料,并且在群里面与其他小伙伴进行交流,QQ群请在购买成功后加小狮妹的QQ(3400982550)获取. 学习本基础课程后,小伙伴如果想要进一步进行实 ...
- Python3网络爬虫1:初识Scrapy
转载出处:https://blog.csdn.net/c406495762/article/details/72858983 官方:https://scrapy-chs.readthedocs.io/ ...
- mac python3.8怎样安装scrapy_Python爬虫与mac下Scrapy配置
用Python开发爬虫很方便. 本质:抓取---分析---存储 要点: (1)get请求:最基本抓取.用到 urllib urllib2 requests httplib2 . (2)表单登陆: ...
- python3爬小说_python3小说爬虫
作为一个很喜欢看书的人,有时候在网页上看小说,会被数不胜数的广告弄的很烦,刚好最近在研究python,就自己写了一个小说爬虫,并用pyqt做了图形界面. 下面介绍一下主要思路,不过就不开源了,因为我的 ...
- 如何从数据库中筛选出达成指定里程碑节点的项目_复盘|项目管理实战经验总结...
最近负责的两个长达半年多的项目终于阶段性闭环交付,心里的石头落下了一大半.回顾这半年多,作为项目负责人的项目管理过程,心中五味杂陈.有因项目风险不确定性的焦虑感,也有因能掌控项目进度和质量的成就感,有 ...
- Python爬虫实战之利用Scrapy框架爬取传智播客课程数据
1.文件结构: 2.lesson.py代码 import scrapy from ts.items import TsItem from scrapy.http import Requestclass ...
最新文章
- BAT“上山下乡”,用AI“打入政府”
- 最前沿:大规模深度强化学习的发展
- Codeforces 486D D. Valid Sets
- c++ 字符串数组长度排序_C指针和字符串数组
- 低配服务器装那个系统吗,用低配服务器好还是高配vps
- java filter 模式,Java设计模式----过滤器模式(挑三拣四)
- gcc学习(一)[第二版]
- [禅悟人生]鹰和蜗牛都能登上金字塔尖
- 9、从命令行运行postman脚本及生成测试报告
- linux怎么更改rpcbind端口号,rpcbind_rpcbind服务是什么_rpcbind 端口
- 1.4.1用空间向量研究直线、平面的位置关系教学设计
- 关于Axure原型在Axure share上的尺寸问题。
- 视频分割技巧,把视频分割成多段进行保存
- 正在解析主机/打开网页慢,有可能是你的虚拟机网卡的问题
- [js项目]封装库-连缀
- 如何开启红米手机4X的ROOT超级权限
- 查看及更改计算机名或域,如何查看和修改计算机名、域和工作组
- 如何编写Junit测试代码
- KingbaseES V8R6集群运维案例---数据块故障自动修复(auto_bmr)
- 男导师的妻子叫“师母”,那么女导师的丈夫怎么称呼?