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' がありません
女神的闺蜜爱上我2017-06-12 09:26:16
makeRequests は何をしますか?リクエストをリスト型に割り当てましたか? その場合、requests.get(*) は当然失敗します。
代言2017-06-12 09:26:16
MakeRequests は Python のマップ関数に似ています。これには 2 つのパラメーター (関数、list()) があり、リスト内のエントリは操作のために前の関数に提供されます。
内部のリクエストは、リクエスト モジュールのメソッドである可能性があります。同じ名前か、url[0] の記述が間違っている可能性があります。後で戻ってデバッグしてください...