Closed Fan-chen04 closed 1 year ago
你的两个问题,首先是need first问题,确实是重构后这部分功能漏开发了,你可以在这个循环后手动判断参数break出去(需要注意break的只有一层循环,还有一个页数循环需要need_page)。
第二个问题,在只需要首页的前提下,请求风险更高(因为大众点评对于搜索页和详情页的监控是独立的,也就是说如果你使用请求了3次(分别为 搜索 详情 搜索),每次间隔2秒,搜索页的间隔就是4秒以上。这个时间可以是搜索页的安全时间。但是如果你need_first并且不需要detail,那么搜索间隔时间就是2秒。 其次你不仅缩小了搜索间隔时间,还更改了我的默认requests_times,使这种情况更加加剧了
我的需求是爬取一家店铺的所有评论,所以need_first,只发送了一次搜索请求,主要是评论页的请求多,应该不会存在你说的问题。另外reques_times加剧被封不太理解,我的设置应该是比默认的1,2;3,5;10,50间隔更长吧? 我主要疑惑的地方在于为何评论页请求次数这么快速的被封,而且更换账号后在有代理的情况下被反爬发现的速度还越来越快,如何缓解出现评论页被封的频率。 另外提个建议,当前的程序若出现被ban的情况,会覆写该店铺的数据为"ban",导致先前爬取到的数据丢失。这点如果能做出调整会更好。
使用了3个账号,Edge登录账号A,Chrome登录账号B,火狐登录账号C,爬取一段时间后A与B评论页被ban,C未被ban。 现发现 A账号切换至火狐登录时可正常访问评论页,而C账号切换至Edge登录后访问评论页出403
哦更长么 忘记了默认是多少,总之原因就是访问间隔太短了。 另外我也提到过,有些时候封号可以通过清空浏览器缓存重新登录缓解这一问题。
清空缓存确实能够解决出现403的问题,谢谢,提供了很多帮助! 另外想问一下,程序出现评论页被ban,但用浏览器登录同一账号却能正常访问,看起来不像是封账号或cookies,但是IP又使用了代理池,所以想问一下这是什么情况,有没有好的解决方案,感谢。
目前问题都已解决,建议不要用代理池(也可能是我的代理质量差)。多准备几个长效IP和账号来爬完全够个人使用。再次开发者!
@Fan-chen04 可以加个联系方式吗,有个爬取评论页的需求
@newcworld 还需要吗,才看见
我反复用了4个不同的账号,出现评论页被ban的速度越来越快,最后两个账号发出不到10个评论页请求即被ban。 整个过程中有使用代理,requests_times参数设置为1,3;5,17;10,40