如何使用Scrapy的xpath提取网页源代码?

ijnw1ujt  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(133)

我编写了以下代码

from scrapy import Selector
html = '''
<html><head></head><body><table>

<tr> <td>a1</td> <td>b1</td> </tr>
<tr> <td>a2</td> <td>b2</td> </tr>

</table></body></html>
'''

selector = Selector(text=html)
temp = selector.xpath("//td").extract()
print(temp)

并希望得到如下结果

[
'<td>a1</td>',
'<td>b1</td>',
'<td>a2</td>',
'<td>b2</td>'
]

但我得到了这个

[
'<td>a1</td> <td>b1</td> </tr>\n<tr> <td>a2</td> <td>b2</td> </tr>\n</table>\n</body>\n</html>\n', 
'<td>b1</td> </tr>\n<tr> <td>a2</td> <td>b2</td> </tr>\n</table>\n</body>\n</html>\n', 
'<td>a2</td> <td>b2</td> </tr>\n</table>\n</body>\n</html>\n', 
'<td>b2</td> </tr>\n</table>\n</body>\n</html>\n'
]

但在xpath中使用了'/text()'

temp = selector.xpath("//td/text()").extract()

结果还好

['a1', 'b1', 'a2', 'b2']

这可能只是一个简单的问题,我只是没有找到关键。
我尝试了“extract”、“extract_first”、“get”和“getall”,但都遇到了同样的问题。
我不知道怎么了,请帮帮我

xggvc2p6

xggvc2p61#

在我卸载了我的Python,然后安装了一个纯Python,我修复了这个问题...这是奇怪的。

相关问题