我正在尝试从https://www.ourcommons.ca/Parliamentarians/en/members?view=List获取个人名单。一旦我获得了名单,我会逐个成员的链接查找他们的电子邮件地址。
由于某些成员没有电子邮件地址,因此代码失败了。我尝试添加代码来处理匹配结果为空的情况,但在这种情况下我会得到重复的结果。
我使用以下逻辑进行匹配:
if条件是问题所在。当我使用else时,每一行都会显示“未找到电子邮件”。
预期结果:对于拥有电子邮件的页面显示电子邮件,对于没有电子邮件的页面显示空白。
由于某些成员没有电子邮件地址,因此代码失败了。我尝试添加代码来处理匹配结果为空的情况,但在这种情况下我会得到重复的结果。
我使用以下逻辑进行匹配:
mat = re.search(r'mailto:\w*\.\w*@parl.gc.ca',ln1.get('href'))
if mat:
email.append(mat.group())
else:
email.append("No Email Found")
if条件是问题所在。当我使用else时,每一行都会显示“未找到电子邮件”。
weblinks=[]
email=[]
page = requests.get('https://www.ourcommons.ca/Parliamentarians/en/members?view=ListAll')
soup = BeautifulSoup(page.content, 'lxml')
for ln in soup.select(".personName > a"):
weblinks.append("https://www.ourcommons.ca" + ln.get('href'))
if(len(weblinks)==10):
break
提取电子邮件
for elnk in weblinks:
pagedet = requests.get(elnk)
soupdet = BeautifulSoup(pagedet.content, 'lxml')
for ln1 in soupdet.select(".caucus > a"):
mat = re.search(r'mailto:\w*\.\w*@parl.gc.ca',ln1.get('href'))
if mat:
email.append(mat.group())
else:
email.append("No Email Found")
print("Len Email:",len(email))
预期结果:对于拥有电子邮件的页面显示电子邮件,对于没有电子邮件的页面显示空白。