Python爬取附近餐馆信息代码示例


Posted in Python onDecember 09, 2017

本代码主要实现抓取大众点评网中关村附近的餐馆有哪些,具体如下:

import urllib.request 
import re 

def fetchFood(url): 
  # 模拟使用浏览器浏览大众点评的方式浏览大众点评 
  headers = {'User-Agent', 
        'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'} 
  opener = urllib.request.build_opener() 
  opener.addheaders = [headers] 
  data = opener.open(url).read() 
  data = data.decode('utf') 
   print('================================抓取的页面数据=======================================') 
  print(data)   # 打印抓取的页面 
   print('================================获取的餐馆信息====================================') 
  foodNameSet = set(re.compile(r'<img title="(.*?)"', re.DOTALL).findall(data)) 
  number = 0 
  for i in foodNameSet: 
    number = number + 1 
    print("第%d个餐馆: %s" % (number, i)) 
foodUrl = "http://www.dianping.com/search/category/2/10/r1488" 
fetchFood(foodUrl)

输出结果:

"D:\ProgramFiles\python\python.exe"D:/zhangzh/program/MyGitHub/python3-webapp-demo/www/dzdp.py 
================================抓取的页面数据======================================= 
<!DOCTYPEhtml> 
<html> 
<head> 
<metacharset="UTF-8"/> 
<metahttp-equiv="X-UA-Compatible"content="IE=edge"/> 
<script>(function(n){vare;e="//catdot.dianping.com/broker-service/api/js",n.onerror=function(n,o,r){vari=encodeURIComponent,t=+newDate();(newImage).src=e+"?error="+i(n)+"&file="+i(o)+"&line="+i(r)+"×tamp="+t}})(window);</script> 
<title>北京中关村美食-大众点评网</title> 
......此处省略 
<liclass=""> 
<divclass="pic"> 
<atarget="_blank"href="/shop/33562041" rel="external nofollow" rel="external nofollow" rel="external nofollow" title=""> 
<imgtitle="渝是乎(中关村店)"alt="渝是乎(中关村店)"data-src="http://p0.meituan.net/ugcpic/023ff4be1a239be5b7f13ac328bc6c5d%40249w_249h_0e_1l%7Cwatermark%3D1%26%26r%3D1%26p%3D9%26x%3D2%26y%3D2%26relative%3D1%26o%3D20"/> 
</a> 
</div> 
<divclass="txt"> 
<divclass="tit"> 
<aonclick="document.hippo.ext({cl_i:10,query_id:'4ab097b5-d3b6-441b-a684-8b58c0704567'}).mv('cl_to_s',33562041); 
"data-hippo-type="shop"title="渝是乎(中关村店)"target="_blank"href="/shop/33562041" rel="external nofollow" rel="external nofollow" rel="external nofollow" > 
<h4>渝是乎(中关村店)</h4> 
</a> 
<divclass="promo-icon"> 
<atarget="_blank"href="/shop/33562041#waimai" rel="external nofollow"  
class="iout"title="本店支持在线下单,足不出户,外送到家!"></a> 
</div> 
<atarget="_blank"href="/search/branch/2/0_33562041/g0" rel="external nofollow"  
module="list-branch" 
class="shop-branch">分店</a> 
</div> 
<divclass="comment"> 
<spanclass="sml-rank-starssml-str50"title="五星商户"></span> 
<ahref="/shop/33562041#comment" rel="external nofollow" class="review-num"target="_blank"module="list-readreview" 
> 
<b>1536</b> 
条点评</a> 
<emclass="sep">|</em> 
<ahref="/shop/33562041" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="mean-price"target="_blank"> 
人均 
<b>¥42</b> 
</span> 
</a> 
</div> 
<divclass="tag-addr"> 
<ahref="/search/category/2/10/g102" rel="external nofollow" ><spanclass="tag">川菜</span></a> 
<emclass="sep">|</em> 
<ahref="/search/category/2/0/r1488" rel="external nofollow" ><spanclass="tag">中关村</span></a> 
<spanclass="addr">榆树林1号</span> 
</div> 
<spanclass="comment-list"> 
<span>口味<b>9.1</b></span> 
<span>环境<b>8.7</b></span> 
<span>服务<b>8.3</b></span> 
</span> 
</div> 
<divclass="svr-info"> 
......此处省略 
</script> 
</body></html> 
================================获取的餐馆信息==================================== 
第1个餐馆:重八牛府(之初入江湖店) 
第2个餐馆:纽约客美式餐厅(新中关店) 
第3个餐馆:Chatuchak加都加曼谷潮流甜品 
第4个餐馆:新净雅烹小鲜 
第5个餐馆:那家小馆(中关村店) 
第6个餐馆:谷得一 
第7个餐馆:唐廊.朴禅(当代商城店) 
第8个餐馆:小福楼餐厅 
第9个餐馆:食宝街 
第10个餐馆:渝是乎(中关村店) 
第11个餐馆:品咖啡 
第12个餐馆:小吊梨汤(融科店) 
第13个餐馆:鱼八斗老麻水煮鱼(酸菜鱼) 
第14个餐馆:鳗鳗的爱(新中关购物中心店) 
第15个餐馆:速度牛排 
Processfinishedwithexitcode0

总结

以上就是本文关于Python爬取附近餐馆信息代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
在Python中使用HTMLParser解析HTML的教程
Apr 29 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
教你用Python创建微信聊天机器人
Mar 31 Python
如何用python整理附件
May 13 Python
使用Python处理BAM的方法
Sep 28 Python
python实现kmp算法的实例代码
Apr 03 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
详解python中各种文件打开模式
Jan 19 Python
python 按钮点击关闭窗口的实现
Mar 04 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
python代数式括号有效性检验示例代码
Oct 04 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 #Python
python登录并爬取淘宝信息代码示例
Dec 09 #Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 #Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 #Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 #Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 #Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 #Python
You might like
解析php取整的几种方式
2013/06/25 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
Vue中使用sass实现换肤功能
2018/09/07 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
Django组件content-type使用方法详解
2019/07/19 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
教育孩子心得体会
2014/01/01 职场文书
我的动漫时代的创业计划书范文
2014/01/27 职场文书
政风行风建设责任书
2014/07/23 职场文书
2014年司法局工作总结
2014/12/11 职场文书
文明倡议书
2015/01/19 职场文书
关于教师节的广播稿
2015/08/19 职场文书
开网店计划分析
2019/07/30 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js