Java爬虫教程,如何激活成功教程表单提交的数据参数

Java (39) 2024-02-07 09:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Java爬虫教程,如何激活成功教程表单提交的数据参数,希望能够帮助你!!!。

在编写爬虫程序的时候,一般的url中会携带页码的参数,例如某平台的主页:

*******************/all?page=3&isAjax=1,其中page就代表页码,在爬取的时候只需要利用for循环,将page的值分别设置为1、2、3等即可。

但是有些网站的url属于不会变化的,即其参数所在的位置并不存在于url当中,例如下图中的网站,当你翻页的时候url并不会改变,这时,如果要得到该网站前三页公司名称数据,该如何操作呢?

Java爬虫教程,如何激活成功教程表单提交的数据参数_https://bianchenghao6.com/blog_Java_第1张

Java爬虫教程,如何激活成功教程表单提交的数据参数_https://bianchenghao6.com/blog_Java_第2张

首先打开网站,然后打开F12检查页面元素,发现此处有一项参数,位于FormDate下,在页码变动时,该参数的值也会跟着变动。这时可初步判断该参数跟页码有关。

Java爬虫教程,如何激活成功教程表单提交的数据参数_https://bianchenghao6.com/blog_Java_第3张

但是对于这个网站,采用传统的拼接url方式爬虫将无法获取页面数据,因为在url中携带参数属于get请求。而get请求和post请求最直观的区别就是post请求所携带的参数是存于form表单当中的,此时正需要以模拟表单提交的方式来请求页面,具体代码如下:

Java爬虫教程,如何激活成功教程表单提交的数据参数_https://bianchenghao6.com/blog_Java_第4张

Java爬虫教程,如何激活成功教程表单提交的数据参数_https://bianchenghao6.com/blog_Java_第5张

图中使用NameValuePair的类,这个类是原生Httpclient中自带的类,经常被用于拼凑post请求参数。此时封装好请求并发送,会返回该网站中实际的html数据,接下来在通过Jsoup对数据进行简单的处理,即可得到公司的名称。

Java爬虫教程,如何激活成功教程表单提交的数据参数_https://bianchenghao6.com/blog_Java_第6张

需要源码请私信,欢迎大家一起交流爬虫方面的经验

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复