30天提升技術人的寫作力-第四天
阿新 • • 發佈:2019-04-05
開始 val request 正則表達 模擬 標簽 提示 通過 token 第四天作業:
寫200-300字,把最近某一天的工作中,對自己特別有感觸、有幫助的內容寫下來。
記一次使用Python的BeautifulSoup獲取標簽失敗的思考
某天晚上,我使用Python的requests庫獲取網頁內容,然後使用BeautifulSoup獲取網頁內容中的標簽,卻始終獲取不到。代碼如下:
寫200-300字,把最近某一天的工作中,對自己特別有感觸、有幫助的內容寫下來。
記一次使用Python的BeautifulSoup獲取標簽失敗的思考
某天晚上,我使用Python的requests庫獲取網頁內容,然後使用BeautifulSoup獲取網頁內容中的標簽,卻始終獲取不到。代碼如下:
1 r = requests.get(url)
2 soup = BeautifulSoup(r.text,"html5lib")
3 token = soup.find_all(‘user_token‘)[0].get("value")
開始是第2行報錯,無法將url的文本轉換為html5,改為如下代碼後正常
soup = BeautifulSoup(r.text,"html.parser") # 轉換為html
之後提示無法找到user_token,但‘user_token‘ in r.text為True,無法解決後休息
第二天起來突然有了靈感,找到問題的原因如下:
BeautifulSoup是模擬用戶瀏覽網頁的過程,因此標簽必須在瀏覽過程中可見才能查找到,而user_token是hidden標簽,當然無法找到了
通過使用正則表達式在r.text中查找user_token,解決了問題。
30天提升技術人的寫作力-第四天