如何抓取JS动态输出(非ajax)的电话号码

转载 2015年07月07日 22:53:36
很多网站为了防止用户的隐私信息(电话、手机、邮箱等)被爬虫抓取,对这些信息作了特殊处理。例如,采用JS输出、采用Ajax动态加载、以图片的形式显示等等。
 
其中最为常见的就是采用JS输出,这种方法实现的成本最低,同样也最好被抓取。
 
例如这个页面:
 
 
 
 
电话号码是采用JS输出的,JS代码如下:
 
 
<script>   
<!--  
function escramble_751(){  
var a,b,c  
a='877'  
b='-5'  
a+='-85'  
b+='095'  
c='9'  
document.write(a+c+b)  
}  
escramble_751()  
//-->  
</script> 
 
PS: 更BT的是这个函数名“escramble_751()”还是不断变化的。  
 
 
不过利用强大的字符串匹配工具“正则表达式”,还是可以很方便地将其提取出来的:
 
# Python  code
phone_re = re.compile("a='([ \+\-\d]+?)'.*?b='([ \+\-\d]+?)'.*?a\+='([ \+\-\d]+?)'.*?b\+='([ \+\-\d]+?)'.*?c='([ \+\-\d]+?)'", re.DOTALL)  
match = phone_re.search(html)  
if match:  
    a, b, c, d, e = match.groups()  
    telephone = a + c + e + b + d  
else:  

    telephone = None 


原文作者:西安鲲之鹏(http://www.site-digger.com
原文链接:http://www.site-digger.com/html/articles/20110316/3.html 点击打开链接


ajax实现百度搜索输入动态获取数据

这里简单的利用ajax原理来模拟百度的搜索,实现边输入边动态的获取服务器的数据。1、HTML页面布局 ...
  • qq_33372815
  • qq_33372815
  • 2017年05月22日 13:52
  • 369

JS抓取动态页面小程序

var page = require('webpage').create(); system = require('system'); var name = system.args[1]; p...
  • sinat_30665603
  • sinat_30665603
  • 2017年01月22日 17:30
  • 765

WebMagic抓取前端Ajax渲染的页面

抓取前端渲染的页面 随着AJAX技术不断的普及,以及现在AngularJS这种Single-page application框架的出现,现在js渲染出的页面越来越多。对于爬虫来说,这种页面是比较讨厌...
  • u013510614
  • u013510614
  • 2015年12月15日 12:48
  • 9099

利用js将ajax获取到的后台数据动态加载至网页中

利用js将ajax获取到的后台数据动态加载至网页中,生成二级菜单树。
  • u012724595
  • u012724595
  • 2017年07月04日 10:08
  • 2354

三种获取js加载的动态内容的方法

有些网站的比较重要的内容可能会采用javascript动态加载内容,防止采集,获取其中的信息,但是我们在采集的时候还需要获取到这些内容, 下面就介绍三种可以获取到javascript内容的方法,三种...
  • woddle
  • woddle
  • 2014年07月26日 11:29
  • 829

Java爬虫——phantomjs抓取ajax动态加载网页

(说好的第二期终于来了 >_ 1、phantomjs介绍 phantomjs实现了一个无界面的webkit浏览器。虽然没有界面,但dom渲染、js运行、网络访问、canvas/svg绘制等功能都很完备...
  • EQ___
  • EQ___
  • 2016年10月02日 01:34
  • 7214

抓取前端渲染的页面的技术webmagic

http://webmagic.io/docs/zh/posts/chx-cases/js-render-page.html
  • a694704123b
  • a694704123b
  • 2015年11月20日 23:57
  • 1328

Scrapy实战之抓取ajax网站

目标网站为http://www.ccgp-hubei.gov.cn,经检查HTML代码发现这个网页有一个iframe,iframe里面的内容才是网站的真正有用的内容,所以第一步是要先找到真正的URL。...
  • Q_AN1314
  • Q_AN1314
  • 2016年04月13日 12:27
  • 4441

jquery ajax怎么动态获取url

function getUrlPara(paraName){ var sUrl = location.href; var sReg = "(?:\\?|&){1}"+paraName+"=(...
  • u013027894
  • u013027894
  • 2017年08月11日 16:16
  • 211

原生js,jquery通过ajax获得后台json数据动态新增页面元素

一、原生js通过ajax获取json数据 原生js创建ajax对象比较复杂,因为IE浏览器对ajax对象的创建于其他浏览器不同,下面创建ajax对象的方法就兼容了不同的浏览器 function ...
  • Dorry_L
  • Dorry_L
  • 2015年09月25日 20:37
  • 6741
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何抓取JS动态输出(非ajax)的电话号码
举报原因:
原因补充:

(最多只允许输入30个字)