用python写一段代码,读取指定路径下的excel文件中的网址,提取每个网址页面上所有的文字,并分别保存为word文档,文档以第一段文字命名。
时间: 2023-05-31 20:05:35 浏览: 111
以下是一个可能的代码示例:
```python
import os
import openpyxl
import requests
from bs4 import BeautifulSoup
import docx
# 指定excel文件路径
excel_path = 'example.xlsx'
# 读取excel文件
wb = openpyxl.load_workbook(excel_path)
ws = wb.active
# 遍历每个单元格,提取网址和第一段文字
for row in ws.iter_rows(min_row=2):
url = row[0].value
first_paragraph = None
try:
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
first_paragraph = soup.p.get_text()
except:
pass
# 如果成功提取第一段文字,则保存为word文档
if first_paragraph:
file_name = first_paragraph.split()[0] + '.docx'
doc = docx.Document()
doc.add_paragraph(first_paragraph)
doc.add_paragraph('以下是网页上的所有文字:')
try:
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for p in soup.find_all('p'):
doc.add_paragraph(p.get_text())
except:
pass
doc.save(file_name)
```
该代码首先读取指定路径下的excel文件,然后遍历每个单元格,提取网址和第一段文字。接着使用requests和BeautifulSoup库访问网址,并提取所有文字。最后,将第一段文字和所有文字保存为以第一段文字命名的word文档。如果访问网址或提取文字失败,则跳过该单元格。
阅读全文