无法从网页提取电子邮件地址

时间:2020-07-12 13:00:04

标签: python python-3.x web-scraping beautifulsoup

我正在尝试从网页中抓取电子邮件地址。如果在任何相似的页面中都有可用的电子邮件地址,则电子邮件符号在那里。但是,我无法使用下面的脚本来获取它。相反,我得到的是此链接https://www.yell.com/customerneeds/sendenquiry/sendtoone/100040736756000120

webpage address

我尝试过:

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

base = "https://www.yell.com"
link = "https://www.yell.com/biz/east-london-only-london-901717573/"

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}

r = requests.get(link,headers=headers)
soup = BeautifulSoup(r.text,"lxml")
email = urljoin(base,soup.select_one("a[data-tracking='ENQUIRY:SEND']")["href"])
print(email)

如何从该页面获取电子邮件地址?

1 个答案:

答案 0 :(得分:1)

该页面上没有电子邮件地址。。这是一种典型的方式,可用于在不向公众提供电子邮件地址的情况下实现联系。

当您按下“发送查询”按钮时,浏览器将向某个地址*的HTTP POST请求发送到网络服务器,然后由该服务器处理您的查询。网络服务器可能发送电子邮件到某个地址,但可能也是如此。例如,网络服务器可能只是将条目添加到数据库中,然后某些用户可能会通过网络界面看到您的查询。


*这样,您可以使用浏览器开发人员工具检查自己,并在按下“发送查询”按钮的同时检查“网络”选项卡。我不想向他们发送垃圾邮件只是为了检查数据的发送位置。

相关问题