请求参数分析
https://search.51job.com/list/000000,000000,0000,00,9,99,go,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=
参数名 | 含义 |
---|---|
000000 | 城市 |
000000 | 城市下的区 |
0000 | |
00 | |
9 | |
99 | 月薪范围 |
go | 搜索词 |
2 | 2 搜全文 1 搜公司 |
1.html | 页码 |
postchannel | |
workyear | 工作年限 |
cotype | 公司性质 |
degreefrom | 学历要求 |
jobterm | 全职兼职实习 |
companysize | 公司规模 |
ord_field | 排序 |
dibiaoid | |
line | |
welfare |
通过参数分析,发现需要关注的参数只有页码,还有搜索词,其它按原来的就行。
获取数据
第一次请求发现返回的html并不是我我们所看到的那样,后来经过观察发现,数据都放在js代码,所以只要把这部分数据取出来就行
用goquery库取出来之后,发现换页的时候会有xhr异步请求,那就不需要这么麻烦了呀,直接请求api就行了。 但是用postman请求时返回的确实html页面而不是json数据,经过url对比,document的url和xhr的url是一样的。但是经过发现他是通过请求头Accept来区分的
加上这个请求头之后就可以得到数据了,然后封装成代码,代码已经放到GitHub