0
スクラップされたhtmlページにSQLエラーがあり、htmlタグが閉じられていないことに気付きましたが、xpathセレクタは閉じられていないタグ内のものを検出できません。スクラップ検出タグが閉じていない
タグを検出するにはどうすればよいですか?
おかげ
スクラップされたhtmlページにSQLエラーがあり、htmlタグが閉じられていないことに気付きましたが、xpathセレクタは閉じられていないタグ内のものを検出できません。スクラップ検出タグが閉じていない
タグを検出するにはどうすればよいですか?
おかげ
壊れたHTML/XMLの内容を修正しようとツールとライブラリがたくさんあります。しかしscrapyはすでに我々はまた、壊れた文書修正するためにそれを使用することができ、解析のためのlxml
ライブラリ使用されているので:
from lxml import etree
from scrapy import Selector
def parse(self, response):
# lets pretend we have this unclosed <li> in our response
print(response.body)
#"<ul><li>foo</ul>"
# create an lxml parser with recover parameter
parser = etree.XMLParser(recover=True)
# retrieve xml document
broken_body = etree.tostring(response.selector.root)
clean_doc = etree.fromstring(broken_body, parser=parser)
selector = Selector(root=clean_doc)
selector.xpath("//li/text()").extract_first()
# foo
グラニトサウルスありがとう! – Vinceska
をいずれか、またはあなたのコードとあなたがスクラップにしようとしているウェブサイトならば、我々は助けることができるようにエラーを追加してください。 。 – Mani
ようこそスタックオーバーフロー!デバッグの助けを求める質問(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体の中でそれを再現するのに必要な最短コードが含まれていなければなりません。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:[mcve]を作成する方法。あなたの*質問を改善するために "編集"リンクを使用してください - コメントでより多くの情報を追加しないでください。ありがとう! – GhostCat