问题描述
如何爬取动态数据,就是ajax请求的数据比如说在代码中
<html><head><title>开课课程信息</title><meta name='GENERATOR' content='Microsoft FrontPage 3.0'></head><frameset border='false' frameborder='0' rows='30,*'> <frame name='header' scrolling='no' noresize target='frmCourMain' src='https://www.6hehe.com/wenda/akcjj.asp' marginwidth='0' marginheight='0'> <frame name='frmCourMain' src='https://www.6hehe.com/wenda/akechengdw.asp' scrolling='auto' target='frmCourMain'> <noframes> <body> <p>This page uses frames, but your browser doesn’t support them.</p> </body> </noframes></frameset></html>
从代码中可以看出来源的数据是框架的akechengdw.asp,但是如何爬取这样的数据
问题解答
回答1:如果是ajax请求的数据的话,一般有两种思路。
1.是模拟浏览器去访问。具体的可以Google模拟浏览器 爬虫这个关键字,具体还是得自己实践。
2.去找相关的接口,去爬接口,注意一些请求头就可以了。
回答2:F12看ajax请求,注意伪装一下就行,比如user agent、referrer之类的。如果需要登录权限,那么加上识别用户的cookie就行,可以一个一个试试。如果有csrf防御机制,那就找出埋点的csrf token附带过去就行。
回答3:两种思路,补充楼上的
模拟浏览器,一般可以用一些 headless broswer,Node 的话有一些包可以,比如 https://github.com/amir20/pha...
回答4:你至少贴个url吧, 建议你先去百度一下 “提问的艺术”,别说了这么多, 都是口水话,提问题就要让别人看得懂。
回答5:phantomjs