欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

过cloudflare,使用cfscrape,以及cfscrape挂代理的方式

程序员文章站 2022-07-13 16:54:15
...

一个简单的python模块,可以绕过cloudflare的反bot页面(也称为"我处于攻击模式"或iuam),它通过请求实现。支持Python2.6-3.7版本。

PS:下面所有运行环境都是在外网的服务器上

只需运行
pip install cfscrape。
您可以使用
pip install-u cfscrap进行升级。
pypi包位于 https://pypi.python.org/pypi/cfscrape/
github https://github.com/Anorov/cloudflare-scrape

#基础访问类型
import cfscrape
from parsel import Selector
import requests
session = cfscrape.create_scraper(delay=10)
response = session.get(url)

下面是挂代理的方式,代理需要在可访问外网的服务器上才可以进行,并且需要将服务器加入白名单。

注册个人或者公司认证后有测试量,可以进行免费测试
注册地址,打开注册

import cfscrape
from parsel import Selector
import requests

response = requests.get("http://tiqu.linksocket.com:81/abroad?num=1&type=2&lb=1&sb=0&flow=1&regions=&port=1&n=0")
ip = response.json()["data"][0]["ip"]
port = response.json()["data"][0]["port"]

ip = "{}:{}".format(ip, port)
proxies = {
    "http": "http://{}".format(ip),
    "https": "https://{}".format(ip),
}

ttt = requests.get("http://myip.top", proxies=proxies)
print(ttt.text)

ssss = cfscrape.create_scraper(delay=10)
cookies,user_agent= ssss.get_cookie_string("https://apkpure.com/", proxies=proxies, allow_redirects=True)

response = ssss.get("https://apkpure.com/cn/search?q=com.facebook.katana",proxies=proxies)
# # print(web_data)
if "开发者" in response.text:
    print("访问成功")
    down_html = Selector(text=response.text)
    info_url_list = down_html.css("div#search-res dd")
    for down_html in info_url_list:
        apk_name = down_html.css("p.search-title>a::text").extract_first()
        print(apk_name)
        print("=============")
else:
    print(response.text)
    print("访问失败")

如果能对你有帮助,是我的荣幸。谢谢。