Browsing Category

爬虫


VIEW POST

View more
爬虫

Scrapy 设置https代理

By
on
2020年6月13日

Scrapy配置代理的方法

网上太多的坑了,简直坑的一逼,….写个中间件也不写全….这里记录一下

下载中间件的写法

from scrapy.downloadermiddlewares.httpproxy import HttpProxyMiddleware
class ProxyMiddleware(HttpProxyMiddleware):
def process_request(self, request, spider):
request.meta = 'http://代理ip:端口'
print(request.meta)

注意这里必须要引入HttpProxyMiddleware,要不然会坑…

Settings在的写法

DOWNLOADER_MIDDLEWARES = {
'项目.middlewares.ProxyMiddleware': 100,
}

这些都没什么,这里需要注意,一定要关闭缓存,一定要关闭,要不然坑到家!!!在Settings中设置好
HTTPCACHE_ENABLED = False !!!!
HTTPCACHE_ENABLED = False !!!!
HTTPCACHE_ENABLED = False !!!!

之前一直纠结是不是http还是https协议出的问题,坑了2个小时最后才发现,原来就是缓存文件出的问题!!!麻痹的,真不知道该怎么说,心中千万只草拟吗…


VIEW POST

View more
爬虫

python 装饰器异常重试

By
on
2020年5月24日

代码

网上看别人的,稍微做一下修改,这个做用是用与在一些通用任务,假如需要重试的话,可以写成装饰器,这样整体的代码看起来会更加的优雅一下

import time
def mainclick(func):
def wrapper(*args, **kwargs):
#这里重试3次
for i in range(3):
try:


VIEW POST

View more
爬虫

用celery构建分布式框架

By
on
2019年6月8日

网上的关于这个框架的使用,我觉得都过于的复杂,我用一个比较简单通俗易懂的方式,来说下这个框架包含的一些知识点.

一, 创建一个项目目录,结构如下:

在 celery 中,配置 celery 的一些相关信息,比如这样:

task1.py 和 taks2.py 就是任务函数,让他们使用定时任务也很简单,就是引入这个实例,然后用装饰器绑定一些即可,代码如下: ( 这边是两个 task )

二,启动任务以及发送任务

很简单 在项目目录下 直接: celery worker -A celerytask -l info

celerytask里面的要好好体会一下要设置对

然后发送任务就这样:

引入任务函数用 delay 来执行任务函数

三,简单的总结一下

1, 创建任务文件夹 ( 以后这可以当做 app 的方式 )2, 写好配置文件,以及 task文件3, 引入 task 文件 然后开始执行

厦门体检