Webページの文字化けしたテキスト
コードが文字化けする理由は、デコード中にWebページをエンコードする方法が設定されていないためです。
response.encoding = response.apparent_encoding
Pythonクローラー、データ分析、Webサイト開発、その他のケースチュートリアルビデオはオンラインで無料で視聴できます
https://space.bilibili.com/523606542
Python学習交換グループ:1039645993
ヘッダーパラメータをリクエストする
InvalidHeader:ヘッダーの戻り文字または先頭のスペースが無効です:User-Agent
import requests
headers = {
'User-Agent': ' Mozilla/5.0 (windows NT 10.0; wow64) Applewebkit/537.36(KHTML,like Gecko) chrome/84.0.4128.3 safari/537.36'
}
response = requests.get( ' http: //www.shuquge.com/txt/8659/index.htm1 ' ,
headers=headers)
response.encoding = response.apparent_encoding
html = response.text
print(htm7)
実際、どこに問題があるのかを見つけるのは難しいですが、実際には「Mozilla」の前に余分なスペースがあるため、スペースを削除するだけです
データとパラメータのエラーはありません
import requests
headers = {
'Host' : 'www.guazi. com ' ,
'User-Agent ': 'Mozi11a/5.0 (windows NT 10.0; wOw64) ApplewebKit/537.36(KHTML,like Gecko) chrome/84.0.4128.3 safari/537.36',
}
response = requests.get( ' https: //www.guazi.com/cs/20e17311773b1706x.htm',
headers=headers)
response.encoding = response.apparent_encoding
print(response.text)
要求されたデータが期待されたデータと異なります。この時点で、一部のパラメータに問題があるはずです。パラメータが欠落していないか、間違ったパラメータが指定されていないかを確認してください。
ターゲットコンピュータは積極的に拒否します
import requests
proxy_response = requests.get( 'http://134.175.188.27:5010/get')
proxy = proxy_response.json()
print(proxy)
エラー
requests.exceptions.ConnectionError:
HTTPConnectionPoo1(host='134.175.188.27',port=5010):
Max retries exceeded with url: /get (caused byNewConnectionError( ' <ur1lib3.connection.HTTPConnection object at Ox0000023AB83AC828>: Failed to establish a new connection: [winError 10061]由于目标计算机积极拒绝,无法连接。',))
- 認識される
- URLが正しく入力されていません
- サーバーはサーバーの提供を停止しました
リンクタイムアウト
import requests
proxy_response = requests.get( ' http://134.175.188.27:5010/get', timeout=0.0001)
proxy = proxy_response.json(
print(proxy)
エラー
requests.exceptions.connectTimeout:
HTTPConnectionPoo1(host='134.175.188.27'port=5010):
Max retries exceeded with ur1: /get (caused byconnectTimeoutError(<ur1lib3.connection.HTTPConnection object at ox000002045EF9B8DO>,'Connection to 134.175.188.27 timed out.(connecttimeout=O.0001) '))
例外処理
import requests
try :
proxy_response = requests.get( 'http:/ /134.175.188.27:5010/get',timeout=O.0001)
proxy = proxy_response.json()
print(proxy)
except:
pass