ホームページ  >  記事  >  バックエンド開発  >  イディオムWebサイトをクロールするためのPython正規表現

イディオムWebサイトをクロールするためのPython正規表現

WBOY
WBOYオリジナル
2016-06-16 08:46:201774ブラウズ

1. まずオンラインのイディオム Web サイトを見つけます

2. Web ページの構造を確認し、正規表現を定義します。

キャプチャしたいイディオムのタグの特徴を確認します。ソース コードを確認すると、目的のイディオムが存在することがわかります。 An Rupanshi のように、キャプチャしたいものはすべて タグ内にあり、実際にはさまざまなイディオムが指すテキストになります。実際には、「/cy0/93.html」です。数値が異なるため、正規表現で数値を 2 回一致させるだけです。正規表現 reg = "(.*?)"。
3. コードを書いてみましょう

コードをコピーします コードは次のとおりです:

#anthor jiqunpeng
#time 20121124
import urllib
インポート

def getHtml(url): #URL から HTML コンテンツを読み取ります
page = urllib.urlopen(url)
html = page.read()
page.close()
return html

def getDictionary(html): #マッチング イディオム
reg = "(.*?)"
dicList = re.compile(reg).findall(html)
return dicList

def getItemSite():#各文字で始まるページ数を手動でカウントします
itemSite = {}#空の辞書として宣言します
itemSite["A"] = 3
itemSite["B "] = 21
itemSite["C"] = 19
itemSite["D"] = 18
itemSite["E"] = 2
itemSite["F"] = 14
itemSite["G"] = 13
itemSite["H"] = 15
itemSite["J"] = 23
itemSite["K"] = 6
itemSite["L" ] = 15
itemSite["M"] = 12
itemSite["N"] = 5
itemSite["O"] = 1
itemSite["P"] = 6
itemSite["Q"] = 16
itemSite["R"] = 8
itemSite["S"] = 26
itemSite["T"] = 12
itemSite["W"] = 13
itemSite["X"] = 16
itemSite["Y"] = 35
itemSite["A"] = 21
return itemSite

if __name__== "__main__":
dicFile = open("dic.txt","w+")# イディオム ファイルを保存します
domainsite = "http://chengyu.itlearner.com/list /"
itemSite = getItemSite()
itemSite.items() の key,values:
range(1,values+1) のインデックス:
site = key +"_ "+ Str (index)+".html"
Dictionary = getDictionary (Gethtml (DomainSite+Site))
辞書内の DIC:
DICFILE.WRITE (DIC [2]+"@@") # # これをイディオムとしてマークし、分割するときに
を使用します。 print key+'文字イディオムのキャプチャが完了しました。
イディオムをテキスト テキストに保存し、接尾辞タグを追加します。
最後に、正規表現を設計するときは、正しいと思っていても一致しない状況が発生することがあります。たとえば、解析する場合は空白文字に注意してください。

コードをコピー

コードは次のとおりです:

っくん
1 行目と 2 行目の空白文字はわかりません。index = html.find('avatar_name'), html[4677:4677+100] を使用すると、空白以外の文字を確認できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。