V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  moxiaowei  ›  全部回复第 5 页 / 共 6 页
回复总数  115
1  2  3  4  5  6  
2018-11-18 20:39:13 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 在 parse 函数中,如何拿到另一个 Request 的结果
@kran。。。。。。
2018-11-18 20:38:59 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 在 parse 函数中,如何拿到另一个 Request 的结果
@raptium 额 您这也是一条思路
2018-11-18 20:19:55 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 在 parse 函数中,如何拿到另一个 Request 的结果
@ioven 你这个是 parse 往 parseNext 中传值,我需要的是 parseNext 往 parse 中传值
2018-11-18 20:18:48 +08:00
回复了 chaodada 创建的主题 PHP 新来一个同事做 PHP 两年 不会写九九乘法表。。。。
python 表示好难
2018-11-17 14:54:04 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的 request 的相关问题
@nicevar 再这个 callback,处理了,然后上面那个 parse 怎么拿到 callback 处理的结果?
2018-11-11 11:02:49 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的请求问题
@sunorg 什么?
2018-11-11 10:43:45 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的请求问题
@yangyaofei 谢谢 确实是这样的
2018-11-11 10:23:36 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的请求问题
@yangyaofei 好的 谢谢 我来试试
2018-11-11 10:22:25 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的请求问题
@zhijiansha 中间件 download middle 是写了的,但是,download middle 我是用来使用代理的。
2018-11-11 10:16:43 +08:00
回复了 zgxzgx 创建的主题 新手求助 寻找志同道合朋友
哈哈 免费请个人,还不用成本
2018-11-10 10:37:20 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的问题
@Trim21 好的 谢谢你
2018-11-09 22:21:53 +08:00
回复了 moxiaowei 创建的主题 Python scrapy 的问题
@Trim21 什么叫两次 log 的一分钟间隔里?是不是类似下面的 log

2018-11-09 22:20:26 [scrapy.extensions.logstats] INFO: Crawled 99 pages (at 2 pages/min), scraped 0 items (at 0 items/min)
2018-11-09 22:20:28 [scrapy.core.engine] DEBUG:
@JCZ2MkKb5S8ZX9pq 我已经解决了。开线程验证,很快就验证完,然后立刻使用,这样成功率相对高了很多
@ooh 有道理的 谢谢你
@ooh 我已经是这样做的了,runTestProxy 这个方法就是跑测试的
@n0trace 应该不是
@ooh 我把 download middleware 贴一下 您帮我看看问题,谢谢


def process_request(self, request, spider):

print("---------------------------------", request.url)

canUsedProxyIps = list()

proxyIps = proxyIpModel.getTwoHundredIp()#从数据库中取代理地址

print("-----------------------------------", proxyIps)

if len(proxyIps) == 0:#如果取出来为空

print("**********************数据库内为空,开始去极光拉取代理数据")

ipList = self.fromJiguangGetProxyIps()

for item in ipList:#循环插入数据库

proxyModel = proxyIpModel()

proxyModel.ipAddr = item

proxyModel.insertOne()

canUsedProxyIps.append(item)

else:#如果不为空,那么验证每一个是否可用

print("**********************数据库内不为空,开始去挨个验证每一个是否可用")

for item in proxyIps:#循环验证

if self.runTestProxy(item.ipAddr):#代理是能用的

canUsedProxyIps.append(item.ipAddr)

else:#如果代理不能用

item.deleteOne()#从数据库中删除这个代理信息

#如果发现没有可用的,那么去请求极光

while len(canUsedProxyIps) <= 20:

print("**********************数据长度不到 20 个,需要再去极光拉一些来")

ipList = self.fromJiguangGetProxyIps()

for item in ipList: # 循环插入数据库

proxyModel = proxyIpModel()

proxyModel.ipAddr = item

proxyModel.insertOne()

canUsedProxyIps.append(item)

suijiNum = random.randint(0, len(canUsedProxyIps)-1)

request.meta["proxy"] = canUsedProxyIps[suijiNum]

print("+++++++++++++++++++++++++++++++++++++++++正在用"+canUsedProxyIps[suijiNum]+"的代理去请求,"+request.url)

return None




整体思路是:如果数据库中没有可用的代理 IP,那么去极光拉 100 个代理回来,然后挨个验证能否使用,能使用,扔到数据库里并且扔到 canUsedProxyIps 这个 list 中,如果数据库中有可用代理 IP,那么从数据库中取 200 个能用的,然后验证这 200 个代理 IP,把能用的扔到 canUsedProxyIps 这个 list 中。然后循环看 canUsedProxyIps 是否有 20 个备用的代理 IP,如果不够 20 个,那么去极光拉一把,并验证是否能用,如果能用,扔到 canUsedProxyIps 和数据库中,然后再为 request 设置代理。
2018-11-07 16:17:24 +08:00
回复了 freeman1974 创建的主题 Python 问一个爬虫问题,如何生成网站需要的签名(token)
这个是用来防 csrf 攻击的,真不知道怎么弄,标记下,看看高手怎么解决
@JCZ2MkKb5S8ZX9pq 我拿到代理 IP 也会验证的,不过有个问题是,这一刻能用,并不能保证下一刻也能用,所以,轮流使用我感觉不靠谱
@hellove1985 好的 我来看看
1  2  3  4  5  6  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5439 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 06:50 · PVG 14:50 · LAX 23:50 · JFK 02:50
♥ Do have faith in what you're doing.