usr-agent を追加しましたが、HTTP コードは依然として 418<Response [418]> を返します。

プロジェクトのシナリオ:

最近、Python のネットワーク データ収集を学習し始めたのですが、Python のリクエストを使用して Web ページからデータを収集すると、ヘッダーとしてユーザー エージェントが追加されていても、返される HTTP ステータスは 418 のままです。


問題の説明

現在、ほとんどの Web サイトには特定の対 ** メカニズムが備わっているため、Python リクエストを使用して Web ページ データを収集する場合は、ヘッダーを追加する必要があります。そうしないと、Web サイトの対 ** メカニズムによって簡単に認識され、ステータス コード 418 が返されます。

その後、Python リクエストを使用して Web ページからデータを収集したところ、ヘッダーとして user-agent が追加されているにも関わらず結果が取得できず、res を出力すると、返されたステータス コードが <418> であることがわかりました。以下はコードの一部を表示したものです

def get_data(n):
  base_url = 'https://book.douban.com/top250'
  headers = {
    'User - Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
  }
  params = {
      'start':(n-1)*25
  }
  res=requests.get(base_url,headers=headers,params=params)
  print(res)
get_data(1)

原因分析:

コードを継続的に検査することで、ヘッダーで問題が発生していることがわかりました。私のコードは'User - Agent'です。これは、ユーザー エージェントをネットワークにコピーするときに、便宜上、直接選択したためです。コピーします、写真が示すように。

 


解決:

したがって、中間のスペースを削除することで、最終的に http ステータス コードが <Response [200]> として正常に返されるようになります。

概要: 実際、コードを記述するプロセスでは、遅延によって引き起こされる問題が頻繁に発生します。このような問題は比較的小さいものですが、見つけるのが難しい場合があります。

おすすめ

転載: blog.csdn.net/weixin_45913327/article/details/126563580