Python - 美丽的汤,从网站上抓取电子邮件

时间:2017-03-29 12:50:13

标签: python html beautifulsoup

我一直试图想出一种简单的方法来浏览一组网址,这些网址会导致所有网页都具有相同的布局。我们发现一个问题是,在原始列表中,URL是http,但随后它们重定向到https。我不确定这是否会导致尝试从页面中提取信息时出现问题。当我在Chrome中使用Inspector时,我可以看到页面的结构,但是当我尝试设置代码来获取相关链接时,我会出现空白(字面意思)。我一直使用的最通用的代码是:

soup = BeautifulSoup(urllib2.urlopen('https://ngcproject.org/program/algirls').read())
links = SoupStrainer('a')
print links

产生:

a|{}

鉴于我对此我不熟悉,我一直试图处理我认为可行的任何事情。我也尝试过:

mail = soup.find(attrs={'class':'tc-connect-details_send-email'}).a['href']

spans = soup.find_all('span', {'class' : 'tc-connect-details_send-email'})
lines = [span.get_text() for span in spans]
print lines

但这些也不会产生任何结果。

我认为这是我的代码的问题,而不是隐藏数据被欺骗的问题。理想情况下,我希望将数据传递给我抓取的每个URL的CSV文件,但是现在我需要能够确认代码实际上正在抓取正确的信息。欢迎任何建议!

1 个答案:

答案 0 :(得分:0)

如果您在Google Chrome上按CTRL + U或右键单击>查看源。 您将看到该页面是使用javascript或其他方式呈现的。 urllib无法显示/下载您正在寻找的内容。 您必须使用自动浏览器(Selenium - 最受欢迎),您可以将其与Google Chrome / Firefox或无头浏览器(PhantomJS)一起使用。

然后,您可以从Selenium获取信息并存储,然后以您认为合适的方式对其进行操作。