Python网络爬虫之抓取订餐信息「建议收藏」

Python网络爬虫之抓取订餐信息「建议收藏」本文以大众点评网为例,获取页面的餐馆信息,以达到练习使用python的目的。

大家好,又见面了,我是你们的朋友全栈君。

         本文以大众点评网为例,获取页面的餐馆信息,以达到练习使用python的目的。      

       1.抓取大众点评网中关村附近的餐馆有哪些

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:\Program Files\python\python.exe" D:/zhangzh/program/MyGitHub/python3-webapp-demo/www/dzdp.py
================================抓取的页面数据=======================================
<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<script>(function(n){var e;e="//catdot.dianping.com/broker-service/api/js",n.οnerrοr=function(n,o,r){var i=encodeURIComponent,t=+new Date();(new Image).src=e+"?error="+i(n)+"&file="+i(o)+"&line="+i(r)+"×tamp="+t}})(window);</script>
<title>北京中关村美食-大众点评网</title>
 
 ......此处省略


<li class="" >
                        <div class="pic" >
                            <a target="_blank" href="/shop/33562041" rel="nofollow" title=""  >
                                <img title="渝是乎(中关村店)" 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>

                        <div class="txt">

                            <div class="tit">
                                <a οnclick="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"  >
                                    <h4>渝是乎(中关村店)</h4>
                                </a>


                                <div class="promo-icon">
                    
      
                                             
            

                        


            
            <a rel="nofollow" target="_blank" href="/shop/33562041#waimai"
class="iout" title="本店支持在线下单,足不出户,外送到家!" ></a>
                                </div>

                                <a target="_blank" href="/search/branch/2/0_33562041/g0"
                    module="list-branch" 
                    
                     class="shop-branch">分店</a>


                                
                            </div>

                            <div class="comment">
                                <span class="sml-rank-stars sml-str50" title="五星商户"></span>
                    
                                <a href="/shop/33562041#comment" class="review-num" target="_blank" module="list-readreview" 
                   rel="nofollow">
                    <b>1536</b>
                    条点评</a>
                    
                                <em class="sep">|</em>
                                <a href="/shop/33562041" class="mean-price" target="_blank" >
                                    人均
                                        <b>¥42</b>
                                        </span>
                                </a>

                            </div>
                            <div class="tag-addr">
                                <a href = "/search/category/2/10/g102" ><span class="tag">川菜</span></a>
                                <em class="sep">|</em>
                                <a href = "/search/category/2/0/r1488" ><span class="tag">中关村</span></a>
                                <span class="addr">榆树林1号</span>
                            </div>
                                <span class="comment-list">
                                <span >口味<b>9.1</b></span>
                                <span >环境<b>8.7</b></span>
                                <span >服务<b>8.3</b></span>
                                 </span>


                        </div>


                        <div class="svr-info">

 

 ......此处省略

 
 
</script>
</body></html>

================================获取的餐馆信息====================================
第1个餐馆: 重八牛府(之初入江湖店)
第2个餐馆: 纽约客美式餐厅(新中关店)
第3个餐馆: Chatuchak加都加曼谷潮流甜品
第4个餐馆: 新净雅烹小鲜
第5个餐馆: 那家小馆(中关村店)
第6个餐馆: 谷得一
第7个餐馆: 唐廊.朴禅(当代商城店)
第8个餐馆: 小福楼餐厅
第9个餐馆: 食宝街
第10个餐馆: 渝是乎(中关村店)
第11个餐馆: 品咖啡
第12个餐馆: 小吊梨汤(融科店)
第13个餐馆: 鱼八斗老麻水煮鱼(酸菜鱼)
第14个餐馆: 鳗鳗的爱(新中关购物中心店)
第15个餐馆: 速度牛排

Process finished with exit code 0

        2. 抓取中关村附近的餐馆的评价信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149560.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 开机提示:DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER无法开机的解决办法「建议收藏」

    开机提示:DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER无法开机的解决办法「建议收藏」现实是悲催的,本人在公司不仅写Java/Android程序,又要管理公司的电脑。有新员工进来把电脑换了个主板,一开机提示DISKBOOTFAILURE,INSERTSYSTEMDISKANDPRESSENTER,明显是:“没有识别到硬盘”,在开机的日志显示:MenmoryRunsatFlexMemoryModeDetectingIDEdrives……

    2022年7月13日
    39
  • 无聊日常——对QQ邮箱盗号邮件的垃圾账号填充

    无聊日常——对QQ邮箱盗号邮件的垃圾账号填充本篇关键字:QQ盗号,域名分析,目录扫描,垃圾信息倾倒最近收到一封诡异的邮件,如下图:好奇的我扫码进去看到了qqmail的登录界面,直觉告诉我这是个假粉丝!(重庆腔)咳…是假的网站,进一步发现它的地址为:http://dhdjfekljjf.jcikiybk.lsdhdjeicgj.com.cn/mail1/嗯…下面就开始搞事了。(咦?自动变绿?)首先1、猜它的所有目录首先解析域…

    2022年7月26日
    11
  • 小米手机解BL锁、线刷详细教程,适用于小米全系列手机[通俗易懂]

    小米手机解BL锁、线刷详细教程,适用于小米全系列手机[通俗易懂][教程]小米手机解BL锁、线刷详细教程,适用于小米全系列手机这几天看到论坛里很多人在问怎么线刷,下面我就做个详细的线教程大家看一下高手别喷我哈此教程只适合刷官方MIUI包进入正题。第一步:解BL锁1.浏览器打开申请解锁小米手机点击立即解锁,然后再点击下载解锁工具,下载后保存到电脑也可以点击这里立即下载2.解压后双击miflash_unlock.exe打开手机解锁工具V3.33.点同意,然后登陆帐号,手机会检测您的帐号是否可以解锁,如果不支持点击申请解锁,好像是大约一周左右可以通过申

    2022年6月7日
    84
  • JMH: 最牛逼的基准测试工具套件

    JMH: 最牛逼的基准测试工具套件JMH简介官网:http://openjdk.java.net/projects/code-tools/jmh/简介:JMHisaJavaharnessforbuilding,running,andanalysingnano/micro/milli/macrobenchmarkswritteninJavaandotherlanguagestargettingtheJVM,由简介可知,JMH不止能对Java语言做基准测试,还能对运行在JVM上的其他语言做基准测试

    2022年7月27日
    8
  • golang获取UUID[通俗易懂]

    golang获取UUID[通俗易懂]packagemainimport( “fmt” uuid”github.com/satori/go.uuid”)funcmain(){ //创建 u1:=uuid.NewV4() fmt.Printf(“UUIDv4:%s\n”,u1) //解析 u2,err:=uuid.FromString(“f5394eef-e576-4709-9e…

    2022年8月9日
    83
  • pycharm安装教程并永久激活_pycharm怎么看激活时间

    pycharm安装教程并永久激活_pycharm怎么看激活时间激活前准备工作 配置文件修改已经不在bin目录下直接修改,而是通过pycharm修改 如果输入code一直弹出来,请去hosts里移除jetbrains相关的项目 1.下载新版激活成功教程补丁点击链接:https://pan.baidu.com/s/1TfHEFZBsHzPMaGVOavfWhw提取码:p9bi,并将它放置到pycharm安装目录的\bin目录下(位置可随…

    2022年8月29日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号