分析网页内容

原网址:https://www.dianping.com/zhengzhou/ch0
大家在抓取网页的时候会遇到各种问题,比如字体加密,但是当我爬取大众点评网站的时候发现,它里面的字体以及文字并不是不同的加密,利用css定位来显示所需要的文字和数字,如图:

所显示的只有span标签和class 并没有数字信息,
通过查看css信息就会发现在里面有个网址,

打开网址发现里面是数字信息,就是用来显示价格等信息的,

查看元素反复对比发现是使用css定位用来显示所需要的信息,span标签里的class的定位,

知道怎么解析了,然后就是怎么获取span里面class的定位信息,从页面上直接抓取有点不太显示,只能另辟途径了,
就在我查看页面的源代码的时候,发现这个网站,有这样一个注释 < !-- 图文混排css --> , 发现下面的css样式也是加载服务器里面的,然后就访问一下就出现了惊喜
访问css网址

里面的信息也正是我们想要的,
这样我们就能通过解析这两个网址来编写代码进行文字和数字的解密,

编写代码实现解密

这里我就简单的写一下,具体解密的过程,所以编写代码不是很规范,也并没有爬取整个的网页,
根据上面的分析,需要先获取span标签里面的class 我们就以上面的两个为例进行一下解密演示:

<span class="hkcc8"><span>         # 9
<span class="hkdvi"><span>       # 5

根据类名如:hkcc8 获取 该类名的定位数值

# 导的包
import re
import requests
import lxml.html# 获取css页面的详情信息,用正则匹配得到css的定位数据
def css_info(info):# css 页面   这个网址是会变化的,修改为自己获取到的css_html = requests.get('https://s3plus.meituan.net/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/6c3897952c363a4c22712329d2ff2e93.css').text# mty2pe{background:-180.0px -1664.0px;}# 正则,这里有个坑,刚开始使用+拼接,不能匹配str_css = r'%s{background:-(\d+).0px -(\d+).0px'% infocss_re = re.compile(str_css)info_css = css_re.findall(css_html)# print(css_html)# print(str_css)# print(info_css)return info_css

输入:hkcc8 得到结果:475 64

接下来解析数字的网址

result = requests.get('https://s3plus.meituan.net/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/d32298136aa6a4b7715bd2d11b41727c.svg')
tree = lxml.html.fromstring(result.content)
a = tree.xpath('//text[@y="41"]/text()')[0]
b = tree.xpath('//text[@y="88"]/text()')[0]
c = tree.xpath('//text[@y="126"]/text()')[0]# x ,y 是得到的两个坐标点
# 调用上面的函数
x,y = css_info('hkcc8')[0]
x,y = int(x),int(y)
print('坐标',x,y)
if y <= 41:print('数字:',a[x // 12])
elif y <= 88:print('数字:',b[x // 12])
else:print('数字:',c[x // 12])

得到的结果如下:

这里只是简单的写一下解密的思路,,,希望对你能起到帮助
网页信息是经常变化的,所以还请根据自己当时访问的网页信息进行解码,,,

大众点评 爬虫抓取 数字文字解密相关推荐

  1. 大众点评评论抓取-加密评论信息完整抓取

    前言: 之前写的抓取大众的商家信息和点评评论星级,前两篇博文可以自行查阅,后面经常有人问我评论信息怎么抓取,因为以前评论部分没有加密,如今大众点评的评论信息做了前端字体加密,因此一般不会完整的抓取到信 ...

  2. 大众点评评论抓取-CSS加密破解

    前言: 大众点评的评论信息做了前端字体加密,在PC端的展示数据是通过CSS来控制的,从网页上看不出来太大的区别,但是用普通的脚本取获取时,会发现数据是获取不到的,具体的源代码是下面这样的: 部分字体被 ...

  3. 大众点评坐标抓取php,如何抓取(采集)大众点评网的坐标(经纬度)信息

    发布时间:2011-11-10 大众点评的地图位置很精确,但从HTML源码中却找不到坐标(经纬度)信息. 利用地址加载地图往往有比较大的偏差,从这一点上分析它肯定是利用的坐标(经纬度)信息. 分析JS ...

  4. 大众点评各城市热门餐厅数据爬虫抓取

    大众点评抓取 网址链接 http://www.dianping.com/shoplist/shopRank/pcChannelRankingV2?rankId=fce2e3a36450422b7fad ...

  5. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...

    python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07

  6. 爬虫抓取58简历之字库解密

    爬虫抓取58同城 反反爬虫之字库解密 2019.03.01更新 前言 看不懂的字体 解密字库 字库自动解密API 2019.03.01更新 定制简历采集软件wechat联系13939147257. 解 ...

  7. python爬虫微信朋友圈怎么发文字_如何利用Python网络爬虫抓取微信朋友圈的动态(上)...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  8. No.2 大众点评评论爬取

    大众点评评论爬取 一.简介 网址:http://www.dianping.com/shop/G41gaJfqGBICtiVY 效果:爬取评论 使用框架:selenium.requests.re 难度系 ...

  9. python爬取百度贴吧中的所有邮箱_使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号...

    原标题:使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号 不知道大家过年都是怎么过的,反正栏主是在家睡了一天,醒来的时候登QQ发现有人找我要一份贴吧爬虫的源代码,想起之前练手的时候写过一个抓 ...

最新文章

  1. 链接静态库时__imp_前缀错误
  2. python 调用c++返回char*
  3. java创建线程的几种方式
  4. 写给过去的自己-No.2-数据结构篇-初尝柔性数组
  5. Docker的基本使用(部署python项目)+两个奇技淫巧,将 Docker 镜像体积减小 99%
  6. AT指令:常见的AT命令
  7. EMNLP'21 Findings|字节火山翻译提出:基于自修正编码器的神经机器翻译
  8. gdk_screen_get_resolution简单研究
  9. 佛系宿华和他的“信任电商”伪命题
  10. set工具集的基础使用
  11. java8新特性,stream流多种写法
  12. glib安装详细教程
  13. PS-白色底色改彩色
  14. HashMap引发死链问题(HashMap、ConcurrentHashMap原理解析)
  15. OTM应用能解决人工智能领域的数据安全问题
  16. Nuxt3稳定版+naive-ui项目开发
  17. LiveNVR传统IP摄像机接入-网页直播实现跨域鉴权
  18. Codeforces911题解
  19. HTTP权威指南-连接部分
  20. Repository does not allow updating assets: maven-releases

热门文章

  1. 初步熟悉新webserver goahead
  2. CSS3选择器及其优先级
  3. Realtek WiFi concurrent 模式介绍
  4. 笔记本电脑无法进入睡眠状态_笔记本电脑进入睡眠状态后无法通过鼠标或键盘来唤醒屏幕怎么解决...
  5. 爬取微信公众号详情页
  6. there is no statement named xxx in this SqlMap
  7. VMOS-Pro一款虚拟机app。
  8. 如何查看手机计算机历史记录,怎么查看电脑历史操作记录
  9. openpyxl 单元格合并
  10. Windows Support Tools