python-scrapy
日志:
import logging # 使用python自带日志功能
logging.basicConfig(level=logging.WARNING,
filename='./log/log.txt',
filemode='w',
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
logger = logging.getLogger(__name__) 简单输出当前文件名
logger.warning(e)
scrapy.Request:
yield scrapy.Request(
url,
[
callback, method="GET", headers, body, cookies, meta, dont_filter=False
]
)
请求数据重复
请求传递item为同一个,多线程操作item会造成数据覆盖,可以使用deepcopy来修正
crawl spider
scrapy genspider -t crawl spider_name allow_domain
参数:
多个rules提取的url之间不能传递参数
allow:正则,先提取,后不提取(会自动补全url)
callback:处理响应的函数(不能定义parse函数,避免覆盖父类方法)
follow:请求后资源是否继续被筛选
deny:满足正则的url不被请求
process_links:指定该spider中哪个的函数将会被调用,从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤。
process_request:指定该spider中哪个的函数将会被调用, 该规则提取到每个request时都会调用该函数。 (用来过滤request)

downloadmiddleware:
添加代理ip:
reqeust.meta[‘proxy’] = ‘http://127.0.0.1:455’
pycharm发布代码
tools – deployment – sftp
Crontab 定时执行
安装:sudo apt-get install cron
配置:crontab -e
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command
查看:crontab -l
tail -f 1.log有输出就会展示
星期0表示周日

浙公网安备 33010602011771号