Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3-电子邮件显示为“&引用;在HTML下载页面中_Python_Python 3.x_Web Scraping_Beautifulsoup_Httprequest - Fatal编程技术网

Python 3-电子邮件显示为“&引用;在HTML下载页面中

Python 3-电子邮件显示为“&引用;在HTML下载页面中,python,python-3.x,web-scraping,beautifulsoup,httprequest,Python,Python 3.x,Web Scraping,Beautifulsoup,Httprequest,我需要从以下页面获取电子邮件: 为此,我使用以下代码: from bs4 import BeautifulSoup import urllib.request import re url = "http://bari.geometriapulia.net/index.php/albo-lista/userprofile/abbatantuono-giuseppe" content = urllib.request.urlopen(url).read() soup = BeautifulSou

我需要从以下页面获取电子邮件:

为此,我使用以下代码:

from bs4 import BeautifulSoup
import urllib.request
import re

url = "http://bari.geometriapulia.net/index.php/albo-lista/userprofile/abbatantuono-giuseppe"

content = urllib.request.urlopen(url).read()
soup = BeautifulSoup(content, "lxml")

for link in soup.find_all("a", href=re.compile(r"^mailto:")):

    if "@" in str(link.string):            
        print(link.string)
这段代码找不到我想要的电子邮件,这是你可以在个人资料图片下看到的两封,但它找到了放在页面底部的电子邮件(我不感兴趣)

为了试着理解原因,我下载了整个HTML页面,在那里应该有电子邮件,你可以阅读“…”邮件应该在哪里,以及下面的一行警告:

<td class="fieldCell" id="cbfv_84"><span class="cbMailRepl" id="cbMa92357">...</span><noscript> 
This e-mail address is protected by spam bot, you must activate JavaScript in you browser in order to visualize it
</noscript>
</td>
</tr>
<tr class="sectiontableentry2 cbft_emailaddress" id="cbfr_97">
<td class="titleCell"><label for="cbfv_97" id="cblabcbfv_97">e-mail:</label></td>
<td class="fieldCell" id="cbfv_97"><span class="cbMailRepl" id="cbMa92358">...</span><noscript> 
 This e-mail address is protected by spam bot, you must activate JavaScript in you browser in order to visualize it
。。。
此电子邮件地址受垃圾邮件bot保护,您必须在浏览器中激活JavaScript才能将其可视化
电邮:
... 
此电子邮件地址受垃圾邮件bot保护,您必须在浏览器中激活JavaScript才能将其可视化
因此,我检查了浏览器中是否启用了JavaScript,您可以从这个屏幕截图中看到:

那么,我如何下载页面而不让反垃圾邮件机器人系统从HTML代码中“删除”邮件呢?
这可能吗?

电子邮件地址由JavaScript生成:


请求
urllib
无法解析JS代码。使用selenium。

您的浏览器与此协议无关。由于该页面最初不是为python脚本访问而构建的,因此该文本具有误导性。您正在使用的脚本就像用户一样,访问并阅读站点。此时,您的脚本被要求执行某项任务,运行一个小javascript脚本,我想这是一个简单的验证码。由于您的脚本无法运行js脚本,因此它被正确检测和处理。因此,我会将邮件放在页面底部,但我想要上面的邮件,就像我在原始帖子中所说的: