使用scrapy刮取没有javascript代码的文本

n6g7

我目前正在使用scrapy设置一堆蜘蛛。这些蜘蛛应仅从目标站点中提取文本(文章,论坛帖子,段落等)。

问题是:有时,我的目标节点包含一个<script>标记,因此抓取的文本包含javascript代码。

这是我正在使用的真实示例的链接在这种情况下,我的目标节点是//td[@id='contenuStory']问题是<script>第一个子div中有一个标签。

我花了很多时间在Web和SO上寻找解决方案,但是我什么也找不到。希望我不会错过任何显而易见的事情!

HTML响应(仅目标节点):

<div id="content">
    <div id="part1">Some text</div>
    <script>var s = 'javascript I don't want';</script>
    <div id="part2">Some other text</div>
</div>

我想要的物品是什么:

Some text
Some other text

我得到的是:

Some text
var s = 'javascript I don't want';
Some other text

我的密码

给定一个xpath选择器,我正在使用以下函数来提取文本:

def getText(hxs):
    if len(hxs) > 0:
        l = hxs.select('string(.)')
        if len(l) > 0:
            s = l[0].extract().encode('utf-8')
        else:
            s = hxs[0].extract().encode('utf-8')
        return s
    else:
        return 0

我尝试使用XPath轴(类似child::script),但无济于事。

凯夫

w3lib.html以下位置尝试utils函数

from w3lib.html import remove_tags, remove_tags_with_content

input = hxs.select('//div[@id="content"]').extract()
output = remove_tags(remove_tags_with_content(input, ('script', )))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用带有scrapy的文本的div刮取特定的表格

来自分类Dev

使用scrapy刮取许多页面

来自分类Dev

我如何使用Python从javascript Piechart图中刮取节点文本

来自分类Dev

使用scrapy从flipkart上刮取数据

来自分类Dev

Xpath使用Scrapy刮取大小信息

来自分类Dev

Xpath使用Scrapy刮取大小信息

来自分类Dev

在使用beautifulsoup时,如何从网页中刮取HTML代码而不丢失文本格式?

来自分类Dev

使用Beautifulsoup进行刮取,提取文本

来自分类Dev

如何从<span>中刮取一些没有唯一类标识符的文本?

来自分类Dev

在scrapy中获取文本的值(没有标签)

来自分类Dev

如何使用Scrapy的复选框刮取页面

来自分类Dev

如何使用javascript效果刮取页面

来自分类Dev

Scrapy:使用scrapy和xpath时,如何同时获取文本和带有<b>标记的文本?

来自分类Dev

使用Goutte顺序刮取图像,链接和文本

来自分类Dev

没有在代码后面获取输入文本值

来自分类Dev

没有在代码后面获取输入文本值

来自分类Dev

在文本/javascript 代码中使用 onclick

来自分类Dev

如何使用Scrapy / XPath从JavaScript代码中抓取经/纬度

来自分类Dev

我可以在没有任何JavaScript代码的情况下使用WebView吗?

来自分类Dev

使用BeautifulSoup获取没有标签的文本

来自分类Dev

使用beautifulsoup提取没有标签的文本

来自分类Dev

使用BeautifulSoup获取没有标签的文本?

来自分类Dev

使用Scrapy从具有多个后代的节点中擦除文本

来自分类Dev

如何使用Scrapy从网站上获取所有纯文本?

来自分类Dev

在scrapy的reactor.run()之后,有没有办法运行代码?

来自分类Dev

Scrapy Spider无法正确刮取

来自分类Dev

Scrapy-刮取选定的div

来自分类Dev

Scrapy Spider无法正确刮取

来自分类Dev

我正在尝试使用javascript淡入和淡出文本,而没有onClick事件。

Related 相关文章

  1. 1

    用带有scrapy的文本的div刮取特定的表格

  2. 2

    使用scrapy刮取许多页面

  3. 3

    我如何使用Python从javascript Piechart图中刮取节点文本

  4. 4

    使用scrapy从flipkart上刮取数据

  5. 5

    Xpath使用Scrapy刮取大小信息

  6. 6

    Xpath使用Scrapy刮取大小信息

  7. 7

    在使用beautifulsoup时,如何从网页中刮取HTML代码而不丢失文本格式?

  8. 8

    使用Beautifulsoup进行刮取,提取文本

  9. 9

    如何从<span>中刮取一些没有唯一类标识符的文本?

  10. 10

    在scrapy中获取文本的值(没有标签)

  11. 11

    如何使用Scrapy的复选框刮取页面

  12. 12

    如何使用javascript效果刮取页面

  13. 13

    Scrapy:使用scrapy和xpath时,如何同时获取文本和带有<b>标记的文本?

  14. 14

    使用Goutte顺序刮取图像,链接和文本

  15. 15

    没有在代码后面获取输入文本值

  16. 16

    没有在代码后面获取输入文本值

  17. 17

    在文本/javascript 代码中使用 onclick

  18. 18

    如何使用Scrapy / XPath从JavaScript代码中抓取经/纬度

  19. 19

    我可以在没有任何JavaScript代码的情况下使用WebView吗?

  20. 20

    使用BeautifulSoup获取没有标签的文本

  21. 21

    使用beautifulsoup提取没有标签的文本

  22. 22

    使用BeautifulSoup获取没有标签的文本?

  23. 23

    使用Scrapy从具有多个后代的节点中擦除文本

  24. 24

    如何使用Scrapy从网站上获取所有纯文本?

  25. 25

    在scrapy的reactor.run()之后,有没有办法运行代码?

  26. 26

    Scrapy Spider无法正确刮取

  27. 27

    Scrapy-刮取选定的div

  28. 28

    Scrapy Spider无法正确刮取

  29. 29

    我正在尝试使用javascript淡入和淡出文本,而没有onClick事件。

热门标签

归档