【发布时间】:2016-08-23 00:26:57
【问题描述】:
我需要从网站上抓取电子邮件。 它在浏览器中可见,但是当我尝试使用 requests\BeautifulSoup 抓取它时,我得到了这个:“[电子邮件保护]”
我可以使用 Selenium 执行此操作,但需要更多时间,我想知道是否可以使用 requests\BeautifulSoup 抓取这些电子邮件?也许需要使用一些库来处理 js。
电子邮件标签:
<span id="signature_email"><a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="30425f5e70584346515c5c531e535f5d">[email protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script></span></span> <span class="separator">|</span>
【问题讨论】:
-
这些邮件是否来自邮件列表?你不能简单地从邮件列表中获取它们吗?
-
不,电子邮件在网页上。
-
你能显示你提出请求的代码吗?您是否包含用户代理?一个指向页面的链接也会很有帮助,这样我们就可以看到电子邮件是如何显示的
-
BeautifulSoup 不评估 javascript。所以我认为你必须坚持使用 Selenium...
标签: python selenium beautifulsoup python-requests