簡體   English   中英

使用scrapy爬行數據時刪除符號

[英]Remove symbol when crawling data using scrapy

我想從網站上抓取文字。 這是示例代碼:

def parse(self, response):
        for kamusset in response.css("div#d1"):
            text = kamusset.css("div b::text").extract()
            print(dict(text=text))

結果如下: 在此處輸入圖片說明

我要刪除“。” 符號和每個數字符號。 因此,我使用正則表達式。 我更改代碼:

def parse(self, response):
        for kamusset in response.css("div#d1"):
            text = kamusset.css("div b::text").re(r'[a-z]+')
            print(dict(text=text))

但是結果是: 在此處輸入圖片說明

我不希望那樣的結果。 我想要這樣:

{'text':['abadi','mengabadi','mengabadikan','pengabadian','keabadian']}。 怎么做?

您可以使用re抓取的text進行解析:

import re
text = ['aba.di','meng.a.ba.di','megn.a.ba.di.kan','1','2','peng.a.ba.di.an','ke.a.ba.di.an','1','2']
stack = [re.sub('[^a-zA-Z]+', '', e) for e in text]
text_new = [i for i in stack if i!=""]
print(text_new)

text_new將是:

['abadi', 'mengabadi', 'megnabadikan', 'pengabadian', 'keabadian']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM