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使用py2exe打包程序介绍
Nov 20 Python
python optparse模块使用实例
Apr 09 Python
python实现清屏的方法
Apr 30 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
python矩阵的转置和逆转实例
Dec 12 Python
python pandas模块基础学习详解
Jul 03 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
pytorch:实现简单的GAN示例(MNIST数据集)
Jan 10 Python
python程序如何进行保存
Jul 03 Python
python GUI计算器的实现
Oct 09 Python
Python爬取梨视频的示例
Jan 29 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
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python算法表示概念扫盲教程
2017/04/13 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
Python实现分数序列求和
2020/02/25 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
阿拉伯书店:Jamalon
2019/07/24 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
船舶专业个人求职信范文
2014/01/02 职场文书
年会活动策划方案
2014/01/23 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
办公用房租赁协议书
2014/11/29 职场文书
鼋头渚导游词
2015/02/05 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
Python异常类型以及处理方法汇总
2021/06/05 Python
用Python可视化新冠疫情数据
2022/01/18 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis