我試圖讓一個webscraper獲取一些信息(在這種情況下是一個電話號碼)。爲了獲得電話號碼,我使用了自行創建並經過測試的正則表達式(使用RegExr)來搜索電話號碼,這裏是電話號碼(佔國家代碼(美國爲+1),括號等)。 )BeautifulSoup + HTML + Regex = ...什麼都沒有?
regexPhone = re.compile("(\+?1[-.\s]?)?(([0-9]{3}|(\([0-9]{3}\)))[-.\s]?[0-9]{3}[-.\s]?[0-9]{4})|[0-9]{11}|[0-9]{10}|[0-9]{7}")
我有一個湯對象,並通過它,像這樣:
soup = BeautifulSoup(request.content, "html.parser")
for num in soup.find_all(regexPhone)
print num
然而,即使我知道有在HTML頁面中的電話號碼,該程序不打印它。爲什麼是這樣,我能做些什麼來解決它?
您需要轉義反斜槓或使用原始字符串。閱讀[https://docs.python.org/3/library/re.html](https://docs.python.org/3/library/re.html)以獲取更多信息。 – Matthias
忘掉bs,只是運行它反對request.content(應該可能是response.content)。 – pguardiario