使用Python从XLSX文件提取网址,爬取邮箱并写入新文件
要实现这个任务,我们可以使用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-info的div元素来定位联系方式。
如果找到了联系方式的元素,我们使用find方法再次定位<a>元素,并提取其中的邮箱信息。最后,我们将邮箱写入新的Excel文件中。
最后,我们使用save方法保存新的Excel文件。
请注意,这只是一个示例代码,具体的实现可能需要根据实际情况进行调整和优化。
原文地址: https://www.cveoy.top/t/topic/qhNS 著作权归作者所有。请勿转载和采集!