当我运行这段代码时,它给我一个单词,然后离开整行,这个过程重复到最后。我希望它是在row中,而不是在columns中。
import scrapy
from .. items import FetchingItem
import re
class SiteFetching(scrapy.Spider):
name = 'Site'
def start_requests(self):
links = [('https://www.rev.com/freelancers/subtitles', self.parse_subtitles)]
return [scrapy.Request(link[0], callback=link[1]) for link in links]
def parse_subtitles(self, response):
subtitles = FetchingItem()
Subtitles_price = response.css('.rate::text , .language::text').extract()
Subtitles_price = [re.sub(r'[\r\n\s]+', ' ', text) for text in Subtitles_price]
subtitles['Subtitles_price'] = Subtitles_price
yield subtitles发布于 2019-05-10 06:41:28
str.strip()不会工作吗?类似于:
subtitles_price = [text.strip() for text in subtitles_price]它可能有几种价格,在这种情况下,您可以使用:
subtitles_price = ", ".join([text.strip() for text in subtitles_price])还可以使用str.lstrip()或str.rstrip()仅从字符串的开头或结尾删除换行符
https://stackoverflow.com/questions/56067674
复制相似问题