爬虫 Connection aborted 请教

2017-07-29 00:53:00 +08:00
 livc

最近写了一个简单的模拟发送请求的脚本,大约可用一周后就会报出如下错误,当重新抓一下 cookie 时就又好用了,感觉貌似是反爬虫策略?应该如何应对?谢谢。

Traceback (most recent call last):
  File "call.py", line 35, in <module>
    r = requests.post('http://m.01zhuanche.com/touch/order/bookingCar', headers=header, data=book_data).json()
  File "/Library/Python/2.7/site-packages/requests/api.py", line 110, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 596, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/adapters.py", line 473, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('HTTP/1.1 9527 \r\n',))
10456 次点击
所在节点    Python
8 条回复
bazingaterry
2017-07-29 00:58:52 +08:00
try ... except ... 然后重新获取 Cookies ?
livc
2017-07-29 01:00:22 +08:00
@bazingaterry #1 cookies 是手动在 web 页面抓的。。
Keyes
2017-07-29 01:26:03 +08:00
哈哈哈哈终身代号 9527
bazingaterry
2017-07-29 02:06:20 +08:00
@livc 如果可以的话改成用代码获取呗……
xujialiang
2017-07-29 11:19:57 +08:00
登录过期,就模拟登录呗
ivechan
2017-07-29 17:03:09 +08:00
大约一周, 那就是 Cookie 生命周期只有一周?? 重新登录不就行了.
livc
2017-07-29 17:05:46 +08:00
@ivechan #6 重新登录比较麻烦
sunbeams001
2017-07-30 10:39:29 +08:00
服务端过期基本没办法
换个思路,手机端一般会有类似延长 token 的机制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/378749

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX