如何爬取动态数据,就是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="akcjj.asp" marginwidth="0"
marginheight="0">
<frame name="frmCourMain" src="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,但是如何爬取这样的数据
ajax が要求するデータの場合、大きく 2 つの考え方があります。
1. 模擬ブラウザでアクセスします。具体的には、ブラウザ クローラー キーワードを Google でシミュレートできますが、それでも自分で練習する必要があります。
2. 関連するインターフェイスを見つけてインターフェイスをクロールし、いくつかのリクエスト ヘッダーに注目します。
F12 は ajax リクエストを調べますが、ユーザー エージェント、リファラーなどの偽装に注意してください。
ログイン許可が必要な場合は、ユーザーを識別するための Cookie を追加するだけで、1 つずつ試すことができます。
CSRF 防御メカニズムがある場合は、隠された CSRF トークンを見つけてそれに添付するだけです。
上記のアイデアを補足する 2 つのアイデア
ブラウザをシミュレートするには、通常、ノードには https://github.com/amir20/pha... などのいくつかのパッケージがあるヘッドレス ブラウザを使用できます。
少なくとも、Baidu にアクセスして「質問の技術」を検索することをお勧めします。質問するときは、ただ話すだけです。
ファントムjs