要实现这个任务,我们可以使用Python的openpyxl库来读取和写入Excel文件,使用requests库来发起HTTP请求,使用BeautifulSoup库来解析HTML页面。

首先,我们需要安装openpyxl、requests和BeautifulSoup库。可以使用以下命令安装它们:

pip install openpyxl requests beautifulsoup4

下面是一个实现该任务的Python代码示例:

import requests
from bs4 import BeautifulSoup
from openpyxl import load_workbook, Workbook

# 读取原始Excel文件
workbook = load_workbook('input.xlsx')
sheet = workbook.active

# 创建新的Excel文件
output_workbook = Workbook()
output_sheet = output_workbook.active

# 遍历第一列的网址
for row in sheet.iter_rows(values_only=True):
    url = row[0]
    
    # 发起HTTP请求获取页面内容
    response = requests.get(url)
    html = response.text
    
    # 使用BeautifulSoup解析页面内容
    soup = BeautifulSoup(html, 'html.parser')
    
    # 定位包含联系方式的元素
    contact_element = soup.find('div', {'class': 'contact-info'})
    
    if contact_element:
        # 提取邮箱信息
        email = contact_element.find('a', href=lambda href: href and 'mailto:' in href)
        
        if email:
            email = email['href'].split(':')[1]
            
            # 将邮箱写入新的Excel文件
            output_sheet.append([email])

# 保存新的Excel文件
output_workbook.save('output.xlsx')

在上面的代码中,我们首先使用load_workbook函数从原始Excel文件中加载工作表。然后,我们使用Workbook类创建一个新的Excel文件。

接下来,我们遍历工作表的每一行,提取第一列的网址。然后,我们使用requests库发起HTTP请求,并获取页面的HTML内容。

接着,我们使用BeautifulSoup库解析页面的HTML内容。我们根据页面的结构和特征,使用find方法定位包含联系方式的元素。在这个示例中,我们使用class属性为contact-infodiv元素来定位联系方式。

如果找到了联系方式的元素,我们使用find方法再次定位<a>元素,并提取其中的邮箱信息。最后,我们将邮箱写入新的Excel文件中。

最后,我们使用save方法保存新的Excel文件。

请注意,这只是一个示例代码,具体的实现可能需要根据实际情况进行调整和优化。

使用Python从XLSX文件提取网址,爬取邮箱并写入新文件

原文地址: https://www.cveoy.top/t/topic/qhNS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录