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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
Python的迭代器和生成器
Jul 29 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
Python的iOS自动化打包实例代码
Nov 22 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
Python数据可视化:箱线图多种库画法
Nov 06 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 Python
Python中的xlrd模块使用原理解析
May 21 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
python代数式括号有效性检验示例代码
Oct 04 Python
Python快速实现一键抠图功能的全过程
Jun 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
一个ftp类(ini.php)
2006/10/09 PHP
用缓存实现静态页面的测试
2006/12/06 PHP
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
phpStorm2020 注册码
2020/09/17 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
python字典操作实例详解
2017/11/16 Python
python+opencv实现动态物体识别
2018/01/09 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
一套软件测试笔试题
2014/07/25 面试题
设计部经理的岗位职责
2013/11/16 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
党员个人对照检查材料
2014/10/01 职场文书
房屋认购协议书
2015/01/29 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书