需要爬取一个登录以后的socket连接,这个socket会不定期的传数据到网页上,然后我目前只能通过不断刷新网页去完成,有没有什么好的办法可以去爬取需要网页登录后的socket呢?
===
继续描述:
模拟登录 (selenium模拟登录)
伪造UA,刷新cookies,刷新sessionID(通过不停的登录登出换cookie,定时结束webdriver再重启来刷新sessionID)
通过Xpath 来获取页面的数据(lxml)
他的socket数据是这样传给浏览器的,我就是想用python搞个socket client接进这个socket,然后等服务器推给我数据.
总的来说,爬一个时间点的数据并不困难,但是对于长连接的持续爬虫,持续监控,响应式监控我在网上找不到好的办法,如果是设置定时任务去爬虫,则当采样周期过小的时候(小于1秒),则运算等成本过高且容易被封掉,有没有什么好的办法呢
PHP中文网2017-04-18 10:32:17
HTTP는 상태 비저장이므로 登陆以后
상태는 하나 이상의 특수 값을 서버에 전달하여 결정됩니다(일반적으로 메시지 헤더의 쿠키 필드에 있음).
HTTP 패킷을 포착한 다음 시뮬레이션할 때 이러한 특수 값을 가져옵니다.
업데이트 내용:
상태 코드를 참조하세요. 이는 연결이 websocket으로 대체되었음을 의미하므로 이 페이지는 상대방이 제공해야 합니다. 페이지의 소스코드를 보면 var ws = new WebSocket("ws://ip:3000");
같은 내용이 있을 겁니다.
다른 클라이언트의 요구 사항을 살펴본 후 ws.onmessage
콜백 함수를 다시 작성하세요. 이 함수의 내용은 사용자 재량에 따라 결정되며, 이를 사용하여 새 콘텐츠가 반환되었는지 여부를 확인할 수 있습니다. 새로운 콘텐츠를 처리합니다.
이 글의 客户端
부분을 살펴보고 PHP를 사용하여 웹소켓을 구현한 웹 페이지의 실시간 채팅을 살펴보고 필요에 맞게 수정해 보세요.