以下是一个完整的Python代码示例,用于爬取题库并将其内容写入Word文档。代码结合了
requests
、BeautifulSoup
和python-docx
库:代码示例
import requests
from bs4 import BeautifulSoup
from docx import Document
# 爬取网页内容
def get_question_data(url):
response = requests.get(url)
if response.status_code == 200:
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.content, 'html.parser')
# 假设题目和答案在特定的HTML标签中
# 根据实际网页结构调整选择器
questions = soup.find_all('div', class_='question-class') # 示例选择器
answers = soup.find_all('div', class_='answer-class') # 示例选择器
return questions, answers
else:
print("网页请求失败")
return None, None
# 将数据写入Word文档
def save_to_word(questions, answers, output_path):
doc = Document()
doc.add_heading('题库内容', level=1)
for i, (question, answer) in enumerate(zip(questions, answers), start=1):
doc.add_paragraph(f"{i}. {question.get_text()}")
doc.add_paragraph(f"答案: {answer.get_text()}")
doc.add_paragraph() # 添加空行分隔题目
doc.save(output_path)
print(f"Word文档已保存到: {output_path}")
# 主程序
if __name__ == "__main__":
url = "https://example.com/question" # 替换为实际题库的URL
output_path = "question_bank.docx" # 输出的Word文件名
questions, answers = get_question_data(url)
if questions and answers:
save_to_word(questions, answers, output_path)
代码说明
-
爬取网页内容:
-
使用
requests
库发送HTTP请求,获取网页的HTML内容。 -
使用
BeautifulSoup
解析HTML,提取题目和答案。根据实际网页结构调整选择器。
-
-
写入Word文档:
-
使用
python-docx
库创建一个新的Word文档。 -
将题目和答案逐条写入文档,每个题目和答案之间用空行分隔。
-
-
保存文档:
-
将生成的Word文档保存到本地。
-
注意事项
-
确保安装了所需的库:
bash复制 pip install requests beautifulsoup4 python-docx
-
根据目标网页的HTML结构调整选择器。
-
如果网页内容是动态加载的,可能需要使用
Selenium
等工具。
希望这个示例对你有帮助!