很多网站为了防止用户的隐私信息(电话、手机、邮箱)被爬虫抓取,都对这些信息作了特殊处理后输出。例如,采用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>
更BT的是这个函数名“escramble_751()”还是不断变化的。
不过利用强大的字符串匹配工具“正则表达式”,还是可以很方便地将其提取出来的:
# code by Python 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
呵呵,谢谢
VaTG790i.最好的<a href=http://www.kyfei.com>网站推广软件</a>,
非常好
....................
;ui;普i;uighur;ui;ui;个
在unix网络编程中看到了关于TCP/IP的一些内容,我感觉还是写的不够。正在下载中,一定
下载地址呢