ホームページ  >  記事  >  バックエンド開発  >  Python での urllib2 と BeautifulSoup を使用したデータのクロールと保存に関する MongoDB_PHP チュートリアル

Python での urllib2 と BeautifulSoup を使用したデータのクロールと保存に関する MongoDB_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:18:001291ブラウズ

Python の Urllib2 と BeautifulSoup は、データをクロールして MongoDB に保存します

Beautiful Soup は、HTML と XML を解析するために使用される Python ライブラリで、好みの方法でファイルを解析し、解析ツリーを検索して変更できます。不規則なマークアップを適切に処理し、解析ツリーを生成し、シンプルで共通のナビゲーション、検索、および解析ツリー操作を提供します。

図に示すように、urllib2 モジュールと BS4 モジュールを使用して、タイトル、コンテンツ、銘柄名、銘柄 ID、リリース時刻、閲覧者数の html ページ データをクロールします。

Python での urllib2 と BeautifulSoup を使用したデータのクロールと保存に関する MongoDB_PHP チュートリアル 帮客之家

例:

コードは次のとおりです

##-coding:utf-8-##
輸入時間
bs4 インポート BeautifulSoup から
urllib2 をインポートします
ピモンゴをインポートします
輸入再
インポート日時

def update():
データ = {}
接続 = pymongo.Connection('192.168.1.2', 27017)
#コネクトモンゴデータベース
db = connection.test_hq
#test_hq ライブラリを作成または接続します
私にとっては、Soup.find_all("div", class_="item"):
datas['_id'] = str(i.h2.a['href']).split('/')[-1].split('.')[0]
#HTMLページ名をID番号として取得します
datas['title'] = i.h2.get_text()
#タイトルを取得
url2 = i.h2.a['href']
#タイトルコンテンツURLアドレスを取得
html2 = urllib2.urlopen(url2)
html_doc2 = html2.read()
スープ2 = BeautifulSoup(html_doc2)
datas['content'] =Soup2.find(attrs={"name":"description"})['content']
#記事の内容を取得する
在庫名 = []
在庫ID = []
re.findall(u"[u4e00-u9fa5]+",i.find(class_="stocks").get_text()) の名前の場合:
Stock_name.append(name)
#影響を受ける銘柄の名前を取得し、対応する銘柄 ID 番号を配列に保存します
データ['株名'] = 株名
re.findall("d+",i.find(class_="stocks").get_text()) の ID の場合:
Stock_id.append(id)
#インパクトストックIDを取得
データ ['stock_id'] = Stock_id
datas['update_time'] = datetime.datetime.strptime(re.search("w+.*w+", i.find(class_="fl date").span.get_text()).group(), '%Y -%m-%d %H:%M') - datetime.timedelta(時間=8)
#リリース時間を取得してmongo時間形式に変換します
datas['onlooker'] = int(re.search("d+",i.find(class_="icons ic-wg").get_text()).group())
#観戦者数を取得
db.test.save(datas)
#データベースに挿入

def get_data():

title = str(soup.h2.a['href']).split('/')[-1].split('.')[0]
#更新判定用のHTMLページ名を取得します
open('update.txt', 'r') を f:
として使用 時間 = f.readline()
タイトル == 時間の場合:
「現在更新はありません」、タイトルを印刷します
その他:
open('update.txt', 'w') を f:
として使用 f.write(タイトル)
update()

True の間:
__name__ == '__main__'の場合:
URL = 'http://www.ipython.me/qingbao/'
html = urllib2.urlopen(url)
html_doc = html.read()
スープ = BeautifulSoup(html_doc)
get_data()
時間.睡眠(30)
#30秒ごとに更新

Python での urllib2 と BeautifulSoup を使用したデータのクロールと保存に関する MongoDB_PHP チュートリアル

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/886552.html技術記事 Python の urllib2 と BeautifulSoup はデータをクロールして MongoDB を保存します Beautiful Soup は HTML と XML を解析するために使用される Python ライブラリで、ファイルを解析し、好きなように検索して変更できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。