fake_useragent:

ウェッジ

 

リクエストで爬虫類の要求は、非常に多くの場合、我々はそうでない場合、サーバは、それによってあなたのアクセスを拒否し、不正な要求を考慮される、リクエストヘッダを追加する必要があります。

import requests
url = 'https://www.zhihu.com/question/315387406/answer/812734512'
response = requests.get(url=url)
print(response.status_code)  # 400

加えて、要求ヘッダーは、最も一般的に使用される追加するuser-agentブラウザとして偽装この要求の条項に。

ユーザエージェント、中国は、サーバーは、オペレーティングシステムと顧客によって使用されるバージョン、CPUの種類、ブラウザやバージョン、ブラウザのレンダリングエンジン、ブラウザの言語、ブラウザを識別できるように、特別な文字列の先頭で、UAと呼ばれる、ユーザーエージェントと呼ばれますプラグイン。

それでは、どのように個人がないuser-agent、右、のか?八仙は詳述ますが、個人的な問題を解決するためには、一般的に手です!

import requests

url = 'https://www.zhihu.com/question/315387406/answer/812734512'
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
}
response = requests.get(url=url, headers=headers)
print(response.status_code)  # 200

しかし、導入してfake_useragent、私の母はもう心配する必要はありません......

from fake_useragent import UserAgent
# 实例化 user-agent 对象
ua = UserAgent()

url = 'https://www.zhihu.com/question/315387406/answer/812734512'
headers = {"user-agent": ua.chrome} # 指定浏览器 user-agent # 或者可以这样写 # headers = {"user-agent": UserAgent().random} # 一步到位,随机生成一个 user-agent response = requests.get(url=url, headers=headers) print(response.status_code) # 200

 

fake_useragentは何ですか?

要するに、fake_useragentちょうどあなたのガールフレンドのように、あなたは柔軟生成する私たちを助けることができuser-agent、両手を自由に、。

インストール

pip install fake_useragent

更新

pip install -U fake-useragent

ビューバージョン

import fake_useragent
print(fake_useragent.VERSION)  # 0.1.11

使用法

 

指定されたブラウザのユーザーエージェントを生成します

import fake_useragent

# 实例化 user-agent 对象
ua = fake_useragent.UserAgent()

# ua.ie
print(ua.ie)  # Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; chromeframe/13.0.782.215)

# ua.msie print(ua['Internet Explorer']) # Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) # ua.opera print(ua.opera) # Opera/9.80 (Windows NT 6.1; U; en-US) Presto/2.7.62 Version/11.01 # ua.chrome print(ua.chrome) # Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36 # ua.google print(ua['google chrome']) # Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 # ua.firefox print(ua.firefox) # Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/21.0.1 # ua.ff print(ua.ff) # Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/29.0 # ua.safari print(ua.safari) # Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 

ランダムに生成されたユーザーエージェント

import fake_useragent

# 实例化 user-agent 对象
ua = fake_useragent.UserAgent()
print(ua.random)  # Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
print(ua.random)  # Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)
print(ua.random)  # Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36

ランダムに大幅爬虫類の信憑性を高め、UAは言ったびに生成。

他の用途

 

リモートユーザエージェントJSONファイルは、ローカルにダウンロード

以来fake_useragent、ユーザーエージェントのJSONファイルのデータベースのメンテナンスオンラインです。

import fake_useragent
print(fake_useragent.settings.CACHE_SERVER)
'''
# 网址,其实是个json文件
https://fake-useragent.herokuapp.com/browsers/0.1.11
'''

それはオンラインJSONファイルですので、我々はローカルにダウンロードすることができます。

from fake_useragent import UserAgent, VERSION

location = './fake_useragent%s.json' % fake_useragent.VERSION
ua = UserAgent(path=location)

エラー場合はfake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached、コードだけで罰金を再実行します。

同じレベルのスクリプトファイルはJSONファイルを持っているとあなたはbinディレクトリにあります。

あなただけのローカルに保存された新しいJSONファイルをしたい場合

from fake_useragent import UserAgent
ua = UserAgent()
ua.update()

あなたは、データベースやファイルシステムをキャッシュしたくない場合は書き込み可能ではありません。

from fake_useragent import UserAgent
ua = UserAgent(cache=False)

あなたは、ホスト型キャッシュサーバーを使用しない場合

from fake_useragent import UserAgent
ua = UserAgent(use_cache_server=False)

例外の処理

 

fake_useragent.errors.FakeUserAgentError:再試行の最大量

from fake_useragent import UserAgent
# 禁用服务器缓存: use_cache_server=False
headers = {"User-Agent": UserAgent(use_cache_server=False).chrome} response = requests.get(url=url, headers=headers) print(response.status_code) # 200

FakeUserAgentError(「再試行の最大量に達しました」

from fake_useragent import UserAgent
# 法1 禁用服务器缓存: use_cache_server=False
headers = {"User-Agent": UserAgent(use_cache_server=False).chrome} # 法2 忽略ssl验证 headers = {"User-Agent": UserAgent(verify_ssl=False).chrome} # 法3 不缓存数据 headers = {"User-Agent": UserAgent(cache=False).chrome} response = requests.get(url=url, headers=headers) print(response.status_code) # 200

fake_useragent.errors.FakeUserAgentError:再試行の最大量に達し

from fake_useragent import UserAgent, VERSION

location = './fake_useragent%s.json' % fake_useragent.VERSION
ua = UserAgent(path=location)

私は、JSONファイルは、ローカルのオンラインに書き込まれます場合は、urllib.error.URLError: <urlopen error timed out>エラーが再実行だけで罰金を引き起こし、ローカルファイルのダウンロードが完了します。

ウェッジ

 

リクエストで爬虫類の要求は、非常に多くの場合、我々はそうでない場合、サーバは、それによってあなたのアクセスを拒否し、不正な要求を考慮される、リクエストヘッダを追加する必要があります。

import requests
url = 'https://www.zhihu.com/question/315387406/answer/812734512'
response = requests.get(url=url)
print(response.status_code)  # 400

加えて、要求ヘッダーは、最も一般的に使用される追加するuser-agentブラウザとして偽装この要求の条項に。

ユーザエージェント、中国は、サーバーは、オペレーティングシステムと顧客によって使用されるバージョン、CPUの種類、ブラウザやバージョン、ブラウザのレンダリングエンジン、ブラウザの言語、ブラウザを識別できるように、特別な文字列の先頭で、UAと呼ばれる、ユーザーエージェントと呼ばれますプラグイン。

それでは、どのように個人がないuser-agent、右、のか?八仙は詳述ますが、個人的な問題を解決するためには、一般的に手です!

import requests

url = 'https://www.zhihu.com/question/315387406/answer/812734512'
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
}
response = requests.get(url=url, headers=headers)
print(response.status_code)  # 200

しかし、導入してfake_useragent、私の母はもう心配する必要はありません......

from fake_useragent import UserAgent
# 实例化 user-agent 对象
ua = UserAgent()

url = 'https://www.zhihu.com/question/315387406/answer/812734512'
headers = {"user-agent": ua.chrome} # 指定浏览器 user-agent # 或者可以这样写 # headers = {"user-agent": UserAgent().random} # 一步到位,随机生成一个 user-agent response = requests.get(url=url, headers=headers) print(response.status_code) # 200

 

fake_useragentは何ですか?

要するに、fake_useragentちょうどあなたのガールフレンドのように、あなたは柔軟生成する私たちを助けることができuser-agent、両手を自由に、。

インストール

pip install fake_useragent

更新

pip install -U fake-useragent

ビューバージョン

import fake_useragent
print(fake_useragent.VERSION)  # 0.1.11

使用法

 

指定されたブラウザのユーザーエージェントを生成します

import fake_useragent

# 实例化 user-agent 对象
ua = fake_useragent.UserAgent()

# ua.ie
print(ua.ie)  # Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; chromeframe/13.0.782.215)

# ua.msie print(ua['Internet Explorer']) # Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) # ua.opera print(ua.opera) # Opera/9.80 (Windows NT 6.1; U; en-US) Presto/2.7.62 Version/11.01 # ua.chrome print(ua.chrome) # Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36 # ua.google print(ua['google chrome']) # Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 # ua.firefox print(ua.firefox) # Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/21.0.1 # ua.ff print(ua.ff) # Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/29.0 # ua.safari print(ua.safari) # Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 

ランダムに生成されたユーザーエージェント

import fake_useragent

# 实例化 user-agent 对象
ua = fake_useragent.UserAgent()
print(ua.random)  # Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
print(ua.random)  # Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)
print(ua.random)  # Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36

ランダムに大幅爬虫類の信憑性を高め、UAは言ったびに生成。

他の用途

 

リモートユーザエージェントJSONファイルは、ローカルにダウンロード

以来fake_useragent、ユーザーエージェントのJSONファイルのデータベースのメンテナンスオンラインです。

import fake_useragent
print(fake_useragent.settings.CACHE_SERVER)
'''
# 网址,其实是个json文件
https://fake-useragent.herokuapp.com/browsers/0.1.11
'''

それはオンラインJSONファイルですので、我々はローカルにダウンロードすることができます。

from fake_useragent import UserAgent, VERSION

location = './fake_useragent%s.json' % fake_useragent.VERSION
ua = UserAgent(path=location)

エラー場合はfake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached、コードだけで罰金を再実行します。

同じレベルのスクリプトファイルはJSONファイルを持っているとあなたはbinディレクトリにあります。

あなただけのローカルに保存された新しいJSONファイルをしたい場合

from fake_useragent import UserAgent
ua = UserAgent()
ua.update()

あなたは、データベースやファイルシステムをキャッシュしたくない場合は書き込み可能ではありません。

from fake_useragent import UserAgent
ua = UserAgent(cache=False)

あなたは、ホスト型キャッシュサーバーを使用しない場合

from fake_useragent import UserAgent
ua = UserAgent(use_cache_server=False)

例外の処理

 

fake_useragent.errors.FakeUserAgentError:再試行の最大量

from fake_useragent import UserAgent
# 禁用服务器缓存: use_cache_server=False
headers = {"User-Agent": UserAgent(use_cache_server=False).chrome} response = requests.get(url=url, headers=headers) print(response.status_code) # 200

FakeUserAgentError(「再試行の最大量に達しました」

from fake_useragent import UserAgent
# 法1 禁用服务器缓存: use_cache_server=False
headers = {"User-Agent": UserAgent(use_cache_server=False).chrome} # 法2 忽略ssl验证 headers = {"User-Agent": UserAgent(verify_ssl=False).chrome} # 法3 不缓存数据 headers = {"User-Agent": UserAgent(cache=False).chrome} response = requests.get(url=url, headers=headers) print(response.status_code) # 200

fake_useragent.errors.FakeUserAgentError:再試行の最大量に達し

from fake_useragent import UserAgent, VERSION

location = './fake_useragent%s.json' % fake_useragent.VERSION
ua = UserAgent(path=location)

私は、JSONファイルは、ローカルのオンラインに書き込まれます場合は、urllib.error.URLError: <urlopen error timed out>エラーが再実行だけで罰金を引き起こし、ローカルファイルのダウンロードが完了します。

おすすめ

転載: www.cnblogs.com/zhang-da/p/12207392.html