私はこのチュートリアルがなぜ動作しないのか、オンラインチュートリアルPython Web Scraping Tutorial 5 (Network Requests)と同じコードであると考えています。私はコードをオンラインのPythonインタプリタでも実行しようとしました。regexを使用したWebスクレイピング
import urllib
import re
htmltext = urllib.urlopen("https://www.google.com/finance?q=AAPL")
regex = '<span id="ref_[^.]*_l">(.+?)</span>'
pattern = re.compile(regex)
results = re.findall(pattern,htmltext)
results
私が取得:
re.pyc in findall(pattern, string, flags)
175
176 Empty matches are included in the result."""
--> 177 return _compile(pattern, flags).findall(string)
178
179 if sys.hexversion >= 0x02020000:
TypeError: expected string or buffer
期待される結果(S):
112.71
ヘルプは感謝を。私はURLで "read()"を使ってみましたが、うまくいきませんでした。ドキュメンテーションによると、空の結果も含める必要があります。ありがとう
を最後の配列要素を取得するために作ります<\/span> ' – ZdaR
使用しているチュートリアルでは、正規表現を使用してウェブを傷つけることを示唆している場合は、正規表現パターンで正しいパターンが'別のものを見つける。 HTMLパーサーは理由のために存在します。 – jonrsharpe
@ZdaRいいえ... '/'は正規表現でエスケープする必要はありません... –