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循环监控远程端口的方法
Mar 14 Python
Python 私有函数的实例详解
Sep 11 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
Python实现京东秒杀功能代码
May 16 Python
基于python进行抽样分布描述及实践详解
Sep 02 Python
python中的垃圾回收(GC)机制
Sep 21 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 Python
Pandas 稀疏数据结构的实现
Jul 25 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 生成文字png图片的代码
2011/04/17 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
php远程下载类分享
2016/04/13 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
Node.js实现文件上传
2016/07/05 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
php 修改密码实现代码
2017/05/24 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
如何安装ruby on rails
2014/02/09 面试题
前台文员我鉴定
2014/01/12 职场文书
新学期开学标语
2014/06/30 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
MySQL之select、distinct、limit的使用
2021/11/11 MySQL