今天我们弄一下大众点评

学习阶段,我们要抱着学习的目的

重点是思路,做爬虫就不要想着一劳永逸了

方法公开,人家就换了

知识是你自己的,学到了,他换不掉

好了,我们开始吧

网站展示 https://www.dianping.com/search/keyword/24/0_%E4%B8%87%E8%BE%BE%E5%B9%BF%E5%9C%BA

what?! 数字是图片

打开svg图片,看看猫腻

想要学习Python?Python学习交流群:1004391443满足你的需求,资料都已经上传群文件,可以自行下载!

按照咱爬虫的经验分析

必然是css实现了图片的定位,显示的局部

简单,手撕代码

走起

我们如何搞定这些定位呢?

简单啊,查找突破口

DOM长成这个样子

zrvm6

坐标在着 .zrvm6 { background: -103.0px -116.0px; }

那是不是拿到所有的坐标就可以了?

必然是的

打开网页源文件

找啊~找啊,找朋友

咦?

这么耿直的么?

这是在鄙视我们爬虫工程师么

还是告诉我,此地无银

秀啊,找到了

接下来,敲黑板

如何从得到数字6呢

第一步,我要打rap

额,不,我要获取css

为了加速,我写重要步骤了

你只需要这样,这样,就抓取到了

哈哈哈

重要的注释,我已经添加好了 import re import requests from lxml import html # 获取css的全部数据,并且一会通过正则表达式匹配出你想要的class # css_name 你需要获取的css名称,例如zrvm6 # css_url 'https://s3plus.meituan.net/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/3b0a424aef56ae40afe7711036173836.css' # 这个地方是动态的,每次都要重新抓取一下 # .tiimh{background:-456.0px -849.0px;} 编写正则表达式 def get_css_position(css_name,css_url): css_positon_html = requests.get(css_url).text str_css = (r'%s{background:-(\d+).0px -(\d+).0px' % css_name) css_re = re.compile(str_css) info_css = css_re.findall(css_positon_html) return info_css if __name__ == '__main__': a = get_css_position('tiimh','https://s3plus.meituan.net/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/3b0a424aef56ae40afe7711036173836.css') print(a)

展示结果,bingo,搞定 [('456', '849')]

接下来,你在这样,这样,over

坐标拿到了,下面要对应到svg里面

svg是有规律的,让我们看一下吧

横坐标,12的倍数,纵坐标分别是49,90,140,这个应该也是动态的,批量抓取的时候注意 # url需要动态获取哦~ result = requests.get('https://s3plus.meituan.net/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/3e7551c3d26f090c29498db5024b1090.svg') tree = html.fromstring(result.content) a = tree.xpath('//text[@y="49"]/text()')[0] # 纵坐标也是动的,需要动态 b = tree.xpath('//text[@y="90"]/text()')[0] c = tree.xpath('//text[@y="140"]/text()')[0]

补全解析过程 x,y = get_css_position('zrvm6','https://s3plus.meituan.net/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/3b0a424aef56ae40afe7711036173836.css')[0] x,y = int(x),int(y) print('zrvm6的坐标是',x,y) if y <= 49: print('svg图片对应的数字:',a[x // 12]) elif y <= 90: print('svg图片对应的数字:',b[x // 12]) else: print('svg图片对应的数字:',c[x // 12]) 09682953461602125891507990058105385628648915741477 54883192734856091073652293607343306967545493213422 24700621614898877713 zrvm6的坐标是 103 116 svg图片对应的数字: 6

ok,搞定了,要的就是这个feel

python爬取大众点评字体_python爬取大众点评解决字体反爬相关推荐

  1. python爬知识星球付费数据_python抓取知识星球精选帖,制作为pdf文件

    版权声明:本文为xing_star原创文章,转载请注明出处! 背景: 这两年知识付费越来越热,我也加入了不少知识星球,总觉得信息有些过载了.一天不看,就有500+的内容显示未读,弄的自己格外的焦虑.感 ...

  2. python爬网站的题库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  3. python爬取电影票房前50_Python3爬取起猫眼电影实时票房信息,解决文字反爬~~~附源代码...

    上文解决了起点中文网部分数字反爬的信息,详细链接https://www.cnblogs.com/aby321/p/10214123.html 本文研究另一种文字反爬的机制--猫眼电影实时票房反爬 虽然 ...

  4. Go爬取起点中文网 解决文字反爬

    Go语言的爬虫库不如Python强大,却也五脏俱全. 今天我们分析如何爬取起点中文网数据,以及遇到反爬如何处理. 作品链接:http://www.365yg.com/i6678092837810078 ...

  5. 【Python爬虫实例】Python解决521反爬方案

    参考文献:https://github.com/xiantang/Spider/blob/master/Anti_Anti_Spider_521/pass_521.py 写在前面的话:Python在爬 ...

  6. python爬大众点评手机号_Python爬虫丨大众点评数据爬虫教程(1)

    方式二: 需要安装fontTools包,没安装的请(pip install fontTools) from fontTools.ttLib import TTFont def get_xml(self ...

  7. python爬取天气数据山东_Python的学习《山东省各城市天气爬取》

    Python+scrapy爬取山东各城市天气预报 1.在命令提示符环境使用pip install scrapy命令安装Python扩展库scrapy,详见Python使用Scrapy爬虫框架爬取天涯社 ...

  8. python爬取京东手机数据_Python数据爬虫学习笔记(21)爬取京东商品JSON信息并解析...

    一.需求:有一个通过抓包得到的京东商品的JSON链接,解析该JSON内容,并提取出特定id的商品价格p,json内容如下: jQuery923933([{"op":"75 ...

  9. python爬取京东手机参数_python抓取京东小米8手机配置信息

    本文代码是使用python抓取京东小米8手机的配置信息 首先找到小米8商品的链接:https://item.jd.com/7437788.html 然后找到其配置信息的标签,我们找到其配置信息的标签为 ...

  10. python 爬取财经新闻股票_python 抓取新浪财经股票数据

    新浪并未提供API,但我们可以通过抓包来获取实时或历史行情数据. 实时行情 比如我们可以通过浏览器访问: ?== 来获取证券代码为的实时行情数据,可以看到内容为: ="华泰证券,,,,20. ...

最新文章

  1. Linux LVM硬盘管理及LVM扩容
  2. 【拓扑排序】【堆】CH Round #57 - Story of the OI Class 查错
  3. NGUI UIRoot原理分析
  4. 关于 block的一些浅识
  5. OpenCV中基本数据结构(2)_Scalar
  6. 使用 jQuery Mobile 与 HTML5 开发 Web App (七) —— jQuery Mobile 列表
  7. 灯珠电路图_可充电led台灯电路图
  8. 【Express】—get请求参数 restful API
  9. python color属性_Python turtle.color方法代码示例
  10. Silverlight访问Web Service报System.Security.SecurityException: 安全性错误的处理
  11. 关于数据库查询时报“query block has incorrect number of result columns”
  12. 拓端tecdat|R语言向量自回归VAR的迭代多元预测估计 GDP 增长率时间序列
  13. 计算机 管理 mmc 注册表,win10注册表编辑器没有mmc怎么办_win10恢复注册表mmc文件夹的方法-win7之家...
  14. python 键盘输入立刻反应_win10系统,为什么键盘输入字符后得停顿一下,鼠标点击才有效 例如在wor...
  15. 上传文件报错500或者文件大于2M上传不上去解决方法
  16. mismatch详解
  17. Visium空间转录组
  18. matlab文字转语音,数字语音处理及MATLAB仿真.ppt
  19. 【实战案例】python进行自动网上考试
  20. android底层 考试 华清,Android开发架构你真的了解吗—华清创客学院

热门文章

  1. win10家庭版添加本地账户方法
  2. Python软件编程等级考试一级——20210905
  3. cad算计算机三级证书吗,【1人回答】CAD二级证书全国认可吗?-3D溜溜网
  4. 定义客户类 客户积分回馈
  5. 自定义原生相机+拍照+GLSurfaceView+Camera
  6. 时尚巨头确认遭遇勒索攻击、1100万部手机已感染木马|1月19日全球网络安全热点
  7. nncq---见证子系统(统计模块)
  8. Qt MVC之自定义模型
  9. DevOps实战系列【第六章】:详解Docker私服Nexus3篇
  10. 她对他的爱,隔了万水千山