一般的に使用される Python クローラー モジュール:
関連する推奨事項: Python クローラー ライブラリと関連ツール
Python 標準ライブラリ ——urllib モジュール
機能: URL と http プロトコルを開く
注: Python 3.x の urllib ライブラリと urilib2 ライブラリは、urllib ライブラリにマージされました。 このうち、urllib2.urlopen() は urllib.request.urlopen() になり、urllib2.Request() は urllib.request.Request() になります
urllib リクエストは Web ページ
urllib を返します。 request.urlopen
urllib.request.open(url[,data,[timeout,[cafile,[capth[,cadefault,[context]]]]]])
urllib.requset.urlioen は、HTTP (メイン)、HTTPS、FTP、プロトコル URL
ca 認証
データを開くことができます 投稿モードで URL を送信します # を使用します
##ネットワーク アドレスを送信するための URL (フロントエンド全体にはプロトコル名が必要で、バックエンドにはポート http://192.168.1.1:80 が必要です) timeout タイムアウト設定##関数はオブジェクトを返します。追加のメソッドが 3 つあります。
geturl() は応答の URL 情報を返します。
URL リダイレクトでよく使用されます。 info() は応答の基本情報を返します。
getcode() は応答ステータス コードを返します
例:
#coding:utf-8 import urllib.request import time import platform #清屏函数(无关紧要 可以不写) def clear(): print(u"内容过多 3秒后清屏") time.sleep(3) OS = platform.system() if (OS == u'Windows'): os.system('cls') else: os.system('clear') #访问函数 def linkbaidu(): url = 'http://www.baidu.com' try: response = urllib.request.urlopen(url,timeout=3) except urllib.URLError: print(u'网络地址错误') exit() with open('/home/ifeng/PycharmProjects/pachong/study/baidu.txt','w') as fp: response = urllib.request.urlopen(url,timeout=3) fp.write(response.read()) print(u'获取url信息,response.geturl()\n:%s'%response.getrul()) print(u'获取返回代码,response.getcode()\n:%s' % response.getcode()) print(u'获取返回信息,response.info()\n:%s' % response.info()) print(u"获取的网页信息经存与baidu.txt") if __name__ =='main': linkbaidu()
ロギング モジュールは、次の関数を置き換えることができます。 print 関数を実行し、標準をログ ファイルに出力します。 それを保存し、loggin モジュールを使用してデバッグ
re モジュール正規表現
## を部分的に置き換えます。#sys モジュール
システム関連モジュール
sys.argv (すべてのコマンド ラインを含むリストを返します) sys.exit (プログラムを終了します)Scrapy フレームワーク
urllib と re を一緒に使うのは時代遅れすぎます。今の主流は Scrapy フレームワークです。
Python 関連の技術記事の詳細については、こちらをご覧ください。Python チュートリアル
列で学習してください。以上がPython クローラーはどのモジュールを呼び出す必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。