ホームページ  >  記事  >  バックエンド開発  >  クローラーが Python を使用する必要があるのはなぜですか?

クローラーが Python を使用する必要があるのはなぜですか?

silencement
silencementオリジナル
2019-06-24 15:52:292736ブラウズ

クローラーが Python を使用する必要があるのはなぜですか?

Web クローラーとは何ですか?

Web クローラーは、Web ページを自動的に抽出するプログラムです。検索エンジンのために World Wide Web から Web ページをダウンロードし、検索エンジンの重要なコンポーネントです。従来のクローラーは、1 つまたは複数の最初の Web ページの URL から開始し、最初の Web ページの URL を取得します。Web ページをクロールするプロセス中、現在のページから新しい URL を継続的に抽出し、特定の URL が得られるまでキューに入れます。システムの停止条件が満たされています

クローラの用途は何ですか?

一般的な検索エンジンの Web ページ コレクターとして。 (google、baidu) は垂直型検索エンジンです。科学研究​​: オンライン人間行動、オンライン コミュニティ進化、人間力学研究、計量社会学、複雑なネットワーク、データ マイニング、およびその他の分野では大量のデータが必要です。Web クローラーは強力です。関連データを収集するためのツール。のぞき見、ハッキング、スパム送信...

クローラーは検索エンジンにとって最初で最も簡単なステップです

ウェブページのコレクション

インデックスの作成

クエリの並べ替え

クローラーを作成するにはどの言語を使用すればよいですか?

C、C。非常に効率的かつ高速で、Web 全体をクロールする一般的な検索エンジンに適しています。短所: 開発が遅く、執筆が臭くて長い。例: スカイネットのソース コード検索。

スクリプト言語: Perl、Python、Java、Ruby。シンプルで学びやすく、優れたテキスト処理により、Web コンテンツの詳細な抽出が容易になりますが、効率は高くないことが多く、少数の Web サイトを集中的にクローリングするのに適しています

C#? (情報管理の人が好む言語のようです)

最終的になぜPythonを選んだのですか?

クロスプラットフォームで、Linux と Windows を適切にサポートしています。

科学計算、数値フィッティング: Numpy、Scipy

可視化: 2D: Matplotlib (描画が非常に美しい)、3D: Mayavi2

複雑なネットワーク: Networkx

統計: R 言語とのインターフェイス: Rpy

対話型ターミナル

Web サイトの迅速な開発

シンプルな Python クローラー

 1 import urllib
 2 import urllib.request
 3 
 4 def loadPage(url,filename):
 5     """
 6     作用:根据url发送请求,获取html数据;
 7     :param url:
 8     :return:
 9     """
10     request=urllib.request.Request(url)
11     html1= urllib.request.urlopen(request).read()
12     return  html1.decode('utf-8')
13 
14 def writePage(html,filename):
15     """
16     作用将html写入本地
17 
18     :param html: 服务器相应的文件内容
19     :return:
20     """
21     with open(filename,'w') as f:
22         f.write(html)
23     print('-'*30)
24 def tiebaSpider(url,beginPage,endPage):
25     """
26     作用贴吧爬虫调度器,负责处理每一个页面url;
27     :param url:
28     :param beginPage:
29     :param endPage:
30     :return:
31     """
32     for page in range(beginPage,endPage+1):
33         pn=(page - 1)*50
34         fullurl=url+"&pn="+str(pn)
35         print(fullurl)
36         filename='第'+str(page)+'页.html'
37         html= loadPage(url,filename)
38 
39         writePage(html,filename)
40 
41 
42 
43 if __name__=="__main__":
44     kw=input('请输入你要需要爬取的贴吧名:')
45     beginPage=int(input('请输入起始页'))
46     endPage=int(input('请输入结束页'))
47     url='https://tieba.baidu.com/f?'
48     kw1={'kw':kw}
49     key = urllib.parse.urlencode(kw1)
50     fullurl=url+key
51     tiebaSpider(fullurl,beginPage,endPage)

以上がクローラーが Python を使用する必要があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。