本文將指導您如何利用python高效提取網頁特定內容并生成word文檔。許多用戶需要將網頁數據轉換為更易于閱讀和編輯的Word格式。我們將使用requests、lxml和python-docx庫實現這一目標,具體步驟如下:
首先,需要安裝必要的Python庫:requests用于獲取網頁內容,lxml用于解析html,python-docx用于創建和編輯Word文檔。 使用pip安裝: pip install requests lxml python-docx
接下來,代碼如下:
import requests from lxml import etree from docx import Document # 請替換為實際網頁鏈接 url = 'https://gaokao.chsi.com.cn/zsgs/zhangcheng/listVerifedZszc--i...,method-view,schId-1940.dhtml' response = requests.get(url) html = response.content.decode('utf-8') root = etree.HTML(html) # 使用XPath提取目標div元素及其所有子節點 # 注意:此處XPath表達式需根據目標網頁結構調整 content_div = root.xpath('//div[@class="content zszc-content UEditor"]')[0] nodes = content_div.xpath('node()') # 創建Word文檔 doc = Document() # 遍歷所有子節點并寫入文檔 for node in nodes: if isinstance(node, etree._Element): element_html = etree.tostring(node, pretty_print=True, encoding='unicode') element_html = element_html.strip() doc.add_paragraph(element_html) else: doc.add_paragraph(node) # 保存Word文檔 doc.save('output.docx')
這段代碼首先獲取網頁內容,然后使用lxml解析HTML,并通過XPath表達式//div[@class=”content zszc-content UEditor”]定位目標div元素。 它遍歷該div元素的所有子節點,并將每個節點的內容添加到Word文檔中。 代碼區分了元素節點和文本節點,確保正確處理不同類型的內容。 最終生成的Word文檔名為output.docx。 請注意,如果目標網站有反爬蟲機制,可能需要調整代碼或采取其他措施。 此外,XPath表達式需要根據目標網頁的HTML結構進行修改,以確保準確提取所需內容。
立即學習“Python免費學習筆記(深入)”;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END