在parse()Scrapy Spider的方法中,我們可以使用css()on方法response來抓取需要的信息。例如,我們可以使用response.css("#container")來獲取以下 HTML 片段。<div id="container"> <div class="sep">test</div> ...</div>在保存到磁盤之前,我們?nèi)绾胃牟糠?HTML 代碼片段?例如,我想更改<div class="sep">to的文本內(nèi)容1234,以便最終需要的 HTML 片段看起來像<div id="container"> <div class="sep">1234</div> ...</div>我知道我可以將原始 HTML 片段保存在磁盤上,然后使用 HTML 解析器來更改它。然而,這實際上會再次解析它,因為它已經(jīng)在Scrapy 蜘蛛中的方法response的參數(shù)中被解析了。parse()我查看了Scrapy文檔,只能找到從頁面獲取信息的方法。如何進行集合運算?
1 回答

慕慕森
TA貢獻1856條經(jīng)驗 獲得超17個贊
Scrapy專門針對提取信息;因此,它不提供任何修改 HTML 的功能。
但是,沒有什么可以阻止您導(dǎo)入您最喜歡的解析器并使用它。
或者,root
選擇器的屬性將使您能夠訪問底層 lxml 元素。我相當(dāng)確定您必須使用 lxml 轉(zhuǎn)儲根元素。
Scrapy 僅在您訪問后才解析源response.selector
(直接或通過其中一種提取方法)。
如果你想避免解析兩次,就不要使用它們。
添加回答
舉報
0/150
提交
取消