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中使用Inotify监控文件实例
Feb 14 Python
Python线程的两种编程方式
Apr 14 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
初步讲解Python中的元组概念
May 21 Python
查看Django和flask版本的方法
May 14 Python
python画折线图的程序
Jul 26 Python
pymongo中group by的操作方法教程
Mar 22 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
Python pandas求方差和标准差的方法实例
Aug 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
PHP删除数组中的特定元素的代码
2012/06/28 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python数组复制拷贝的实现方法
2015/06/09 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python优先队列实现方法示例
2017/09/21 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
教师自我评价范文
2013/12/16 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
甜品店创业计划书
2014/09/21 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
单位单身证明样本
2014/10/11 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
医德医风自我评价2015
2015/03/03 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
导游词之海南天涯海角
2019/12/05 职场文书