吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4414|回复: 3
收起左侧

[Web逆向] 小小爬虫之突破反爬虫限制重写javascript函数

[复制链接]
罂粟花 发表于 2016-12-29 14:29
交流交流爬取网站碰到的坑~
废话少说直接上代码

[Python] 纯文本查看 复制代码
import requests
from lxml import etree
import base64

url = 'http://www.cool-proxy.net/proxies/http_proxy_list/sort:score/direction:desc'

response = requests.get(url).content

root = etree.HTML(response)
proxys = root.xpath('//*[@id="main"]/table/tr[position()>1 and position()<23]')
def func(a):[color=#ff0000]#同等javascript的function str_rot13,javascript函数请看图片[/color]
    if a.isdigit():
        return a
    if a.lower() < 'n':
        return chr(ord(a) + 13)[color=#ff0000]#chr()和ord()这两个函数百度吧~,很详细[/color]
    else:
        return chr(ord(a) - 13)
for i in proxys:
    try:
        ip = i.xpath('./td[1]/script/text()')
        if not ip:
            continue
        ports = i.xpath('./td[2]/text()')
        if not ports:
            continue
        port = ports[0]
        ip = ip[0].replace('document.write(Base64.decode(str_rot13("','').replace('")))','')
        ip = ''.join(map(func,ip))
        ip = base64.b64decode(ip).strip(' I')[color=#ff0000]#莫名其妙的解码后后缀会有“ I”,没仔细看哪的问题~所以用strip过滤[/color]
        print ip
    except Exception,e:
        print e

1.png
2.png

本帖被以下淘专辑推荐:

  • · Aarow|主题: 991, 订阅: 304

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

howsk 发表于 2016-12-29 14:52
讲真,用xpath做提取的话,确实比re要方便很多,不过这只是我个人认为的咯。
小阿毛 发表于 2016-12-29 14:47
头像被屏蔽
秒天秒地秒空气 发表于 2016-12-29 15:47
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-29 09:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表