要求エージェントについて、あなたは知っておく必要があります
薬といえば、小さな爬虫類は、パートナーが不慣れではない必要があります書いています。しかし、あなたのエージェントが本当に有効にするに始めますか?
演技は、次のカテゴリに分かれています。
それがある場合は、爬虫類は、最も一般的な選択は、高隠蔽プロキシです。
プロキシを設定するための要求は非常に便利です、ちょうどプロキシにパラメータを渡します。公式の例のように:
import requests
proxies = {
'http': 'http://10.10.1.10:3128',
'https': 'http://10.10.1.10:1080',
}
requests.get('http://example.org', proxies=proxies)
場所に注意して、プロキシの辞書はキー2を持っている1つだけが可能な場合、HTTPSとHTTP、なぜ、2つのキーを書くのか?
知っているようにしてください
検証機能を準備するには
この機能は、IPの検証に二つのサイトへのアクセスにプロキシを使用するものは、HTTPSで、1は、httpです。
import requests
from bs4 import BeautifulSoup
def validate(proxies):
https_url = 'https://ip.cn'
http_url = 'http://ip111.cn/'
headers = {'User-Agent': 'curl/7.29.0'}
https_r = requests.get(https_url, headers=headers, proxies=proxies, timeout=10)
http_r = requests.get(http_url, headers=headers, proxies=proxies, timeout=10)
soup = BeautifulSoup(http_r.content, 'html.parser')
result = soup.find(class_='card-body').get_text().strip().split('''\n''')[0]
print(f"当前使用代理:{proxies.values()}")
print(f"访问https网站使用代理:{https_r.json()}")
print(f"访问http网站使用代理:{result}")
テスト
ケース1
proxies = { 'http': '222.189.244.56:48304', 'https': '222.189.244.56:48304' } validate(proxies)
輸出
当前使用代理:dict_values(['222.189.244.56:48304', '222.189.244.56:48304']) 访问https网站使用代理:{'ip': '222.189.244.56', 'country': '江苏省扬州市', 'city': '电信'} 访问http网站使用代理:222.189.244.56 China / Nanjing
結果:二つのサイトを訪問するには、プロキシを使用しています
ケース2
proxies = { 'http': '222.189.244.56:48304' } validate(proxies)
輸出
当前使用代理:dict_values(['222.189.244.56:48304']) 访问https网站使用代理:{'ip': '118.24.234.46', 'country': '重庆市', 'city': '腾讯'} 访问http网站使用代理:222.189.244.56 China / Nanjing
結果:プロキシを使用してのみHTTP要求
ケース3
proxies = { 'https': '222.189.244.56:48304' } validate(proxies)
輸出
当前使用代理:dict_values(['222.189.244.56:48304']) 访问https网站使用代理:{'ip': '222.189.244.56', 'country': '江苏省扬州市', 'city': '电信'} 访问http网站使用代理:118.24.234.46 China / Nanning
結果:プロキシを使用してのみ、HTTPS要求
その他の検査
Wiresharkのキャプチャすることにより、契約が一致しないとき、彼らはプロキシサーバーへの要求を開始しないことがわかりました。
郵便配達の試験結果が要求と一致していることで、異なるプロトコルの下で、エージェントが行くことはありません。
憶測は、PACに類似の規則やルールであってもよいですか?(あなたは答えを知っている場合、私に知らせてください)
結論
時間内の要求**、エージェントを有効にするには、同じプロトコル(HTTP / HTTPS)とターゲットのWebサイトを持っている必要があります。**