我想从网站中提取数据,但似乎我要提取的元素不是“可访问的”。我还发现它们似乎是伪元素。我可以确定在我的网络检查器中,它们的标记之前带有#号。
此外,在使用XPath时,我无法提取要访问的文本。当我无法提取标签的内容时,它们就是CSS“层叠树”中的一点,您可以在下面看到它。 在这里,我可以提取信息直到“内容喜欢”标签。但是,当我要求下面的标签“ fos_comment_thread”时,返回为空。尤其是这个标签是伪元素,后面是后面的标签。但是,我要访问的文本在CSS树的这一部分中更加深入……
输入
reponse.xpath=('//div[class@='row']/div[@class='span9 forum']/div[class@='content fond'].extract()
输出
['<div id="foc_comment_thread"<div>']
输入
reponse.xpath=('//div[class@='row']/div[@class='span9 forum']/div[class@='content fond']/div[id@='fos_comment_thread'].extract()
输出 []
我不明白为什么无法提取,我认为这是由于我的其余标签都是伪元素,但我还没有找到解决问题的方法... < / p>
答案 0 :(得分:1)
您需要做的第一件事是不使用网络检查器工具,而是查看网站的原始HTML。
Web检查员会考虑Java脚本所做的转换,并可能在Java脚本执行后向您显示一个更新的HTML,这很明显看不到。