文中的文本及图片来自互联网,仅作学习培训、沟通交流应用,不具备一切商业行为,著作权归创作者全部,如有什么问题请立即在线留言以作解决
初见Scrapy
- 开发工具
- 创建新项目
- 创建网络爬虫
- 项目结构图
- 创建Item
- 剖析HTML
- 爬取网页页面
开发工具
运作服务平台:Windows 10
Python版本号:Python 3.6.1
Scrapy版本号:Scrapy 1.4.0
IDE:Sublime text3
电脑浏览器:chrome
下边大家进到文中的主题风格 ,爬取大家的第一个网页页面“去哪 ”的酒店餐厅大城市目录,图上鲜红色圈圈单位 。
“去哪”:http://bnb.qunar.com/hotcity.jsp
创建新项目
scrapy startproject qunar
白框中是强调创建一个新网络爬虫。
创建网络爬虫
cd qunar
scrapy genspider hotel bnb.qunar.com
此后,大家的新项目算作基础创建好啦,在其中“hotel”就是指网络爬虫的名字 ,“bnb.qunar.com ”网络爬虫的网站域名。但是为了更好地便捷大家新项目起动,能够在新项目中新创建一个entrypoint.py文件,文档內容以下:
项目结构图
创建Item
创建一个新的Item便捷大家储存所爬取的数据信息 ,从爬取的网页页面中能够看得出 ,大家必须2个数据信息就可以了,一个是城市名称,另一个是大城市相匹配的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 ”呀!!!