30天提升技术人的写作力-第四天

第四天作业:
写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,解决了问题。

猜你喜欢

转载自blog.51cto.com/8886478/2374443