Webページ自体をクロールするためのインターフェイス
java、c#、C ++、pythonなどの他の静的プログラミング言語と比較して、Webドキュメントを取得するためのインターフェイスはより簡潔です。perl、shell、pythonなどの他の動的スクリプト言語と比較して、urllib2パッケージはWebドキュメントへのより完全なアクセスを提供します。 API。 (もちろん、ルビーも良い選択です)
さらに、クロールするWebページは、ブラウザーの動作をシミュレートする必要がある場合があり、多くのWebサイトは鈍いクロールのためにブロックされます。ここで、ユーザーログインのシミュレーション、セッション/ Cookieの保存と設定のシミュレーションなど、適切なリクエストを作成するためにユーザーエージェントの動作をシミュレートする必要があります。リクエスト、機械化など、Pythonには優れたサードパーティパッケージがあります。
Webクロール後の処理
クロールされたWebページは通常、htmlタグのフィルタリング、テキストの抽出などの処理が必要です。 Pythonのbeautifulsoapは、非常に短いコードでほとんどのドキュメント処理を完了することができる簡潔なドキュメント処理機能を提供します。
実際、多くの言語とツールが上記の機能を実行できますが、pythonは最も高速でクリーンな機能を実行できます。人生は短いです、あなたはパイソンが必要です。
「Lifeisshort、uneedpython」の最後の文で、私はすぐにDangdangでpythonの本を購入しました!私は以前にパイソンを崇拝していましたが、さまざまな言い訳のためにいつも学びたいと思っていました。 。
pyはLinuxにとって非常に強力であり、言語は非常に単純です。
ナレッジポイントの拡張:
pythonを使用して、クローラー関連の例を記述します。
# coding:utf-8import urllib
domain ='http://www.liaoxuefeng.com' #LiaoXuefengのドメイン名
path = r'C:\Users\cyhhao2013\Desktop\temp\' #保存するhtmlパス
# htmlヘッダーファイル
input =open(r'C:\Users\cyhhao2013\Desktop# coding:utf-8import urllib
domain ='http://www.liaoxuefeng.com' #LiaoXuefengのドメイン名
path = r'C:\Users\cyhhao2013\Desktop\temp\\' #保存するhtmlパス
# htmlヘッダーファイル
input =open(r'C:\Users\cyhhao2013\Desktop\0.html','r')
head = input.read()
# pythonチュートリアルのメインインターフェイスを開きます
f = urllib.urlopen("http://www.クロールするURL.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000")
home = f.read()
f.close()
# すべてのスペースを置き換えて入力します(これにより、URLを簡単に取得できます)
geturl = home.replace("\n","")
geturl = geturl.replace(" ","")
# URLを含む文字列を取得します
list = geturl.split(r'em;" <ahref="')[1:]
# 強迫観念障害、完璧になるように最初のページを必ず追加してください
list.insert(0,'/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000" ')
# URLリストのトラバースを開始します
for li in list:
url = li.split(r'" ')[0]
url = domain + url #パッチワークURL
print url
f = urllib.urlopen(url)
html = f.read()
# ファイル名を書き込むためにタイトルを取得します
title = html.split("<title ")[1]
title = title.split(" -LiaoXuefengの公式ウェブサイト</title ")[0]
# あなたはコードを回さなければなりません、さもなければあなたがそれをパスに加えるならばそれは悲劇になります
title = title.decode('utf-8').replace("/"," ")
# 傍受テキスト
html = html.split(r'<!-- block main -- ')[1]
html = html.split(r'<h4あなたのサポートは、作者が書く最大の動機です!</h4 ')[0]
html = html.replace(r'src="','src="'+ domain)
# 頭と尾を追加して完全なhtmlを形成します
html = head + html+"</body </html "
# 出力ファイル
output =open(path +"%d"% list.index(li)+ title +'.html','w')
output.write(html)
output.close().html', 'r')
head = input.read()
# pythonチュートリアルのメインインターフェイスを開きます
f = urllib.urlopen("http://www.クロールするURL.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000")
home = f.read()
f.close()
# すべてのスペースを置き換えて入力します(これにより、URLを簡単に取得できます)
geturl = home.replace("\n","")
geturl = geturl.replace(" ","")
# URLを含む文字列を取得します
list = geturl.split(r'em;" <ahref="')[1:]
# 強迫観念障害、完璧になるように最初のページを必ず追加してください
list.insert(0,'/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000" ')
# URLリストのトラバースを開始します
for li in list:
url = li.split(r'" ')[0]
url = domain + url #パッチワークURL
print url
f = urllib.urlopen(url)
html = f.read()
# ファイル名を書き込むためにタイトルを取得します
title = html.split("<title ")[1]
title = title.split(" -LiaoXuefengの公式ウェブサイト</title ")[0]
# あなたはコードを回さなければなりません、さもなければあなたがそれをパスに加えるならばそれは悲劇になります
title = title.decode('utf-8').replace("/"," ")
# 傍受テキスト
html = html.split(r'<!-- block main -- ')[1]
html = html.split(r'<h4あなたのサポートは、作者が書く最大の動機です!</h4 ')[0]
html = html.replace(r'src="','src="'+ domain)
# 頭と尾を追加して完全なhtmlを形成します
html = head + html+"</body </html "
# 出力ファイル
output =open(path +"%d"% list.index(li)+ title +'.html','w')
output.write(html)
output.close()
これまで、Pythonがクローラーの作成に適している理由に関するこの記事を紹介しました。Pythonがクローラーの作成に適している理由の詳細については、ZaLou.Cnの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後、ZaLouをさらにサポートしていただければ幸いです。 Cn!