初识Scrapycss
开发环境python
建立项目nginx
建立爬虫chrome
项目结构图浏览器
建立Item微信
分析HTMLapp
爬取网页scrapy
开发环境
运行平台:Windows 10
Python版本:Python 3.6.1
Scrapy版本:Scrapy 1.4.0
IDE:Sublime text3
浏览器:chromejsp
下面咱们进入本文的主题,爬取咱们的第一个网页“去哪儿”的酒店城市列表,图中红色框框部门。 ide
“去哪儿”:http://bnb.qunar.com/hotcity.jsp
建立项目
scrapy startproject qunar
红框中是指出建立一个新爬虫。
建立爬虫
cd qunarscrapy 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”呀!!!
正文结束!!!
欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章
记录学习python的点点滴滴;
回复【开源源码】免费获取更多开源项目源码;
本文分享自微信公众号 - Python爬虫数据分析挖掘(zyzx3344)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。