[英]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.