文中的文本及图片来自互联网,仅作学习培训、沟通交流应用,不具备一切商业行为,著作权归创作者全部,如有什么问题请立即在线留言以作解决
初见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”呀!!!