
scrapy
星宇笔记
业精于勤荒于嬉
展开
-
python 修改scrapy结束时显示开始时间和结束时间的时区
Scrapy修改爬虫结束时统计数据中的时间为当前系统时间 一、问题背景 scrapy 在每次运行结束后都会显示一堆统计数据信息,其中是有统计时间数据的,那个时间是 UTC 时间(0时区),不是我们平时习惯的系统本地时间,而且里面的爬虫总运行时间是以秒计算的,不符合我们的日常习惯,于是我翻了下scrapy 的源码,找到其中相关的内容并将其重写了一遍。 二、问题分析 通过日志信息,找到对应的统计爬虫运行时间的类:scrapy.extensions.corestats.CoreStats 日志信息显示.原创 2022-02-13 21:55:15 · 1554 阅读 · 0 评论 -
Scrapy 赋值Item的自定义字段的内容报错 Use xx[‘xx‘]=xx to set field value 或者 does not support field: xxx
需求: tiem对象创建之后,修改原来的item的写好的table_name值 我的item: class People(scrapy.Item): table_name = 'people' id = scrapy.Field() url_token = scrapy.Field() name = scrapy.Field() 解决方案: people = People() people.__class__.table_name='people_20216'原创 2021-06-24 17:04:10 · 1299 阅读 · 1 评论 -
Scrapy Web Service 最新修复版本!API调用返回json。
Scarpy 通过telnet 特别卡,用过的肯定懂我的痛苦, 并且原来的scrapy 在新版后砍了web service, 并且n年没更新了, 所以我修复原来版本的bug,增加接口的显示,并且上传到了pipy,方便使用。 1.安装 pip install scrapy-jsonrpc-api -i https://pypi.python.org/simple/ 2.修改scrapy项目中setting.py配置,增加以下扩展 EXTENSIONS = { 'scrapy_jsonrpc.webs原创 2021-01-17 19:22:36 · 268 阅读 · 0 评论 -
python scrapy 捕获callback的异常,处理异常,然后发送邮件。
Scrapy>;=0.16使用不同的方法将方法附加到信号,添加了额外的示例 最简单的解决方案是编写一个扩展,在这个扩展中,您可以使用零碎的信号捕获故障。 例如,以下扩展将捕获所有错误并打印回溯。 您可以对失败执行任何操作—如保存到数据库,或发送电子邮件—它本身就是twisted.python.failure.Failure的实例。 对于0.16之前的零碎版本: from scrapy import signals from scrapy.xlib.pydispatch import dispatche原创 2021-01-10 22:28:53 · 860 阅读 · 0 评论