我正在尝试一次刮去html页面中的所有文本。我知道我会有很多额外的信息,它将不会被组织,但我试图看看是否有某种方法,刮多个网站一次与一个刮刀。你知道吗
问题是,当我在Python中运行Scrapy spider时,我得到了所有的空格:即使我指定只想提取代码中的文本,我也不需要这些空格以及关于页面的额外信息。你知道吗
我试图使我的CSS选择器更具体,但我总是最终没有任何信息或没有足够的信息
import scrapy
from ..items import WholePageItem
class WholePageSpiderSpider(scrapy.Spider):
name = 'whole_page_spider'
start_urls = ['https://www.justanexample.com']
def parse(self, response):
items = WholePageItem()
mission = response.css('body').css('::text').extract()
items['mission'] = mission
yield items
提取的输出如下:
'THE GOOD TEXT I WANT TO EXTRACT',
'\n',
'\n',
'\n',
'window.purechatApi = { l: [], t: [], on: function () { '
'this.l.push(arguments); } }; (function () { var done = false; '
"var script = document.createElement('script'); script.async = "
"true; script.type = 'text/javascript'; script.src = "
"'https://blablabla.com'; "
"document.getElementsByTagName('HEAD').item(0).appendChild(script); "
'script.onreadystatechange = script.onload = function (e) { if '
"(!done && (!this.readyState || this.readyState == 'loaded' || "
"this.readyState == 'complete')) { var w = new PCWidget({c: "
"'3a6f7d8e-a107-4582-b33c-c10aa2b80ac8', f: true }); done = true; "
'} }; })();',
'\n',
我想得到的只是这一部分: '我要提取的好文本'
我不需要具体,我唯一不想要的是'\n',以及代码中的代码。你知道吗
我能做什么?谢谢
我建议您使用芹菜与redis来刮多个网页异步和预定的方式,如果你想。此外,还要通过靓汤更好地了解刮痧。在这种情况下,为了得到预期的文本,可以使用split方法,如
您不能通过索引访问所有期望的单词。想得到这个“我想提取的好文本”你可以-
若要按'\n'拆分,也可以这样做。但是如果您想剥离'\n',您也可以使用
.strip()
方法。你知道吗相关问题 更多 >
编程相关推荐