python scrapy d 去重

1. scrapy对request的URL去重

yield scrapy.Request(url, self.parse, dont_filter=False)

注意这个参数:dont_filter=False

2. Jobs: 暂停,恢复爬虫

启用一个爬虫的持久化,运行以下命令:

scrapy crawl somespider -s JOBDIR=crawls/somespider-1

然后,你就能在任何时候安全地停止爬虫(按Ctrl-C或者发送一个信号)。
恢复这个爬虫也是同样的命令:

scrapy crawl somespider -s JOBDIR=crawls/somespider-1

这样爬虫断掉后,再启动会接着上次的 url 跑。

详细请看 https://www.howtoing.com/scra...

如果命令行里不想看到那么多输出的话,可以加个 -L WARNING 参数
运行爬虫如:

scrapy crawl spider1 -L WARNING

不打印Debug信息,可以清楚得看到运行过程。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于爬取到的txt数据进行清洗,可以使用Python的字符串处理函数和正则表达式进行处理。具体步骤如下: 1. 读取爬取到的txt文件并存储为字符串。 2. 使用字符串处理函数去除空格、制表符等无用字符。 3. 使用正则表达式匹配需要提取的数据,并将其存储为列表或字典格式。 4. 对于爬取到的重复数据和不合法数据进行去重和筛选。 举个例子,假设我们爬取到了一个包含书籍信息的txt文件,每行包含书名、作者、出版社和价格,格式如下: ``` Python编程入门 张三 人民邮电出版社 29.9 Java编程思想 李四 机械工业出版社 49.9 C++ Primer 王五 人民邮电出版社 59.9 ``` 我们可以使用Python的字符串处理函数和正则表达式将其清洗成如下格式: ```python [ {"title": "Python编程入门", "author": "张三", "publisher": "人民邮电出版社", "price": 29.9}, {"title": "Java编程思想", "author": "李四", "publisher": "机械工业出版社", "price": 49.9}, {"title": "C++ Primer", "author": "王五", "publisher": "人民邮电出版社", "price": 59.9} ] ``` 具体的代码实现可以参考以下示例: ```python import re # 读取爬取到的txt文件并存储为字符串 with open("books.txt", "r", encoding="utf-8") as f: content = f.read() # 使用字符串处理函数去除空格、制表符等无用字符 content = content.strip() # 去除首尾空格 content = content.replace("\t", "") # 去除制表符 # 使用正则表达式匹配需要提取的数据,并将其存储为字典格式 pattern = r"(.+)\s+(\S+)\s+(\S+)\s+(\d+\.\d+)" matches = re.findall(pattern, content) books = [] for match in matches: book = { "title": match[0], "author": match[1], "publisher": match[2], "price": float(match[3]) } books.append(book) # 对于爬取到的重复数据和不合法数据进行去重和筛选 books = [book for book in books if book["price"] > 0] ``` 注意,这只是一个简单的示例,实际情况可能更加复杂,需要根据具体的数据格式和需求进行相应的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值