【发布时间】:2020-08-19 16:18:44
【问题描述】:
我正在尝试从此处找到的 git 存储库中提取电子邮件:
https://github.com/kyleschiess/Apex/commit/a32f5d426c8c51e41b891b0d35aa860f23c5b11b.patch
通过 Selenium 的解决方案完美运行,其中:
soup = BeautifulSoup(driver.page_source, 'lxml')
y = soup.find('pre')
text = y.text
email = re.findall(r'<(.+?)>',text)
email[0]
给我'38440047+kyleschiess@users.noreply.github.com'
这是因为 y.text 没有删除电子邮件,它位于 '' 之间。
Selenium 一直给我超时问题,所以我宁愿使用请求。
现在,有请求,当我这样做时:
r = requests.get(patchURL)
soup = BeautifulSoup(r.text,'lxml')
y = soup.find('p') #different format for some reason
text = y.text
email = re.findall(r'<(.+?)>',text)
email[0]
我得到“2!”。
我发现,通过请求,将汤转换为文本会删除 所有 之间的 ''。
使用 Selenium,任何不是位于“”之间的 HTML 标记的东西都放在“<”之间和一个'>' ...所以 .text 不会删除电子邮件。
如何使用 requests 或 urllib 或其他方式获取电子邮件?
【问题讨论】:
标签: html selenium-webdriver beautifulsoup python-requests