网页爬虫,怎么在不用浏览器情况下,提交加了js事件侦听的form表单?

2024-12-16 14:42:21
推荐回答(1个)
回答1:

你可以模拟表单发送过去,这样就不需要运行 js 了,当然模拟表单其实就是模拟网络提交,而模拟网络提交你需要明白网络走的是 http 协议,并且明白表单走的是协议中的那种方式。

一般 form 表单是 post 提交的方式,形如:

POST http://www.example.com HTTP/1.1    Content-Type:
application/x-www-form-urlencoded;
charset=utf-8title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

这样的格式。

当然了,你提交之后你本地 get 的静态页面不会有半点变化,因为你不运行 js 的话就说明不用浏览器,那么,对方接收到 form 表单之后可能会产生的反应跟你是没啥关系的。

理所当然的,你也可以自己搭建一个客户端来接收对方可能返回的数据。

然后你就会明白,你所干的事情跟浏览器几乎一致,因为你想要的其实不只是爬虫,而是网页交互了。