python 提取整個 HTML 節點

2022-01-11 11:34:08 字數 710 閱讀 1534

有的時候,需要把整個 html 節點原封不動地取下來,也就是包括節點標籤、節點內容,甚至也包括內容中的空格、各種特殊符號等等。

假設已獲取到頁面原始碼,並將其儲存在變數src中。則可有**如下:

from html import unescape

from lxml import etree

from lxml import html

# 先載入頁面原始碼,便於後續使用 xpath 解析

root = etree.html(src)

# 根據 xpath 路徑提取節點

script = root.xpath('//script')[-1]

# 關鍵的一步:把整個節點轉為字串

raw_tab = html.tostring(script)

# 此時 print(raw_tab) 會遇到中文亂碼(其實不是亂碼,是另一種編碼顯示了)的情況,需要使用 unescape

json_str = json.loads(raw_tab)

print(unescape(json_str['$meta']['cityname']))

# 如果本身不是 json 字串,則因為 unescape 函式接收的是 bytes-like 物件,所以需要先 decode

print(unescape(raw_tab.decode()))

html內容提取

前段時間,一直在弄html提取問題,可謂道路曲折 當然,現在看來是走了些彎路 現小結一下。總得來說,一般有三種方法 第一種方法 直接提取 即只提取除 之外的的東東,具體實現上,可以直接獲取 之內的文字,也可以先踢出 之內的文字。這裡給出直接獲取 之內的文字的程式片段。注意了,這種方法思路簡單,但效果...

Python筆記從html中提取字段

def fun url url total 景區 page size 20 page num 1 ion 白山市 scope 2 output json ak 秘鑰 response requests.get url total url total html response.text print ...

python提取內容 使用Python提取小說內容

具體實現功能如下 輸入 目錄頁的url之後,指令碼會自動分析目錄頁,提取 的章節名和章節鏈結位址。然後再從章節鏈結位址逐個提取章節內容。現階段只是將 從第一章開始,每次提取一章內容,回車之後提取下一章內容。其他 的結果可能有不同,需要做一定修改。在逐浪測試過正常。coding utf8 usr bi...