Python を使用して、IP アドレスをクロールするクローラーを作成しました。Web サイトはアンチクローラーなので、エージェントを作成しました。
スレッド プールを使用して、IP アドレスをクロールする 10 個のスレッドを開きます。
ただし、エラーが発生します。直接報告された 'list ' オブジェクトには属性 'get' がありません
解決方法がわからないので、コードを投稿します。
from bs4 import BeautifulSoup
インポートリクエスト
インポートレポート
インポート時間
マルチプロセッシングインポートプールから
import pymysql
インポートランダム
fromスレッドプールインポート*
def randHeader():
リーリーdef randproxy():
リーリーdef ダウンロード(url):
リーリーdef proxy_url_list():
リーリーif name == "__main__":
リーリーファイル「C:/qichezhijia/proxyspider.py」、80 行目、ダウンロード
リーリーAttributeError: 'list' オブジェクトには属性 'get' がありません
トレースバック (最後の呼び出し):
ファイル "C:Pythonlibsite-packagesthreadpool.py"、158 行目、run
ファイル「C:/qichezhijia/proxyspider.py」、80 行目、ダウンロード
リーリーAttributeError: 'list' オブジェクトには属性 'get' がありません
トレースバック (最後の呼び出し):
ファイル "C:Pythonlibsite-packagesthreadpool.py"、158 行目、run
ファイル「C:/qichezhijia/proxyspider.py」、80 行目、ダウンロード
リーリーAttributeError: 'list' オブジェクトには属性 'get' がありません
トレースバック (最後の呼び出し):
ファイル "C:Pythonlibsite-packagesthreadpool.py"、158 行目、run
ファイル「C:/qichezhijia/proxyspider.py」、80 行目、ダウンロード
リーリーAttributeError: 'list' オブジェクトには属性 'get' がありません
トレースバック (最後の呼び出し):
ファイル "C:Pythonlibsite-packagesthreadpool.py"、158 行目、run
ファイル「C:/qichezhijia/proxyspider.py」、80 行目、ダウンロード
リーリーAttributeError: 'list' オブジェクトには属性 'get' がありません
makeRequests は何をしますか?リクエストをリスト型に割り当てましたか? その場合、requests.get(*) は当然失敗します。
MakeRequests は Python のマップ関数に似ています。これには 2 つのパラメーター (関数、list()) があり、リスト内のエントリは操作のために前の関数に提供されます。
内部のリクエストは、リクエスト モジュールのメソッドである可能性があります。同じ名前か、url[0] の記述が間違っている可能性があります。後で戻ってデバッグしてください...
名前が同じなので、この行をお勧めします
リーリー最初に
に変更してください リーリーもう一度試してください