c httpclient抓取网页(服务器判定你是ie还是chrome还是firefox?分析的请求地址)
优采云 发布时间: 2021-09-15 14:03c httpclient抓取网页(服务器判定你是ie还是chrome还是firefox?分析的请求地址)
Httpclient是Apache Jakarta common下的一个子项目。它可以用来提供一个支持HTTP协议的高效、最新和功能丰富的客户端编程工具包,并支持HTTP协议的最新版本和建议
3.起始页
首先,模拟移动浏览器的用户体验。让我们打开页面返回移动终端的页面效果,那么我们应该怎么做?事实上,服务器根据请求头中的UA来确定您是ie、chrome还是Firefox。因此,我们需要为移动浏览器找到UA
我们可以在一定程度上模拟移动终端,也可以在浏览器中直接模拟F12,然后查看请求参数:
User-Agent:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36
好的,没问题:
我们怎样才能把这句话放到节目里
简单,在获取get对象后直接设置:
httpGet.setHeader("User-Agent", "Mozilla/5.0
(Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36");
好的,然后我们可以使用jsoop来获得我们想要的元素。jsoop的语法与JQ相同
让我们直接面对页面,右键单击所需的元素,选择review元素,然后使用JQ的选择器选择它
您可以参考jQuery选择器
4.get followers
直接获取我们前面分析的请求地址
https://www.zhihu.com/api/v4/members/Sweets07/followers?per_page=10&
include=data%5B%2A%5D.employments%2Ccover_url%2Callow_message%2Canswer_coun
t%2Carticles_count%2Cfavorite_count%2Cfollower_count%2Cgender%2Cis_followe
d%2Cmessage_thread_token%2Cis_following%2Cbadge%5B%3F%28type%3Dbest_answerer
%29%5D.topics&limit=10&offset=30
但是请记住替换用户名,并将cookie的最后一段添加到请求头ZC_0中
然后,请求的数据作为JSON返回
{
"paging": {
"is_end": false,
"next": "https://www.zhihu.com/api/v4/members/Sweets07/followers?per_page=10&include=data%5B%2A%5D.answer_count%2Carticles_count%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F%28type%3Dbest_answerer%29%5D.topics&limit=10&offset=20",
"previous": "https://www.zhihu.com/api/v4/members/Sweets07/followers?per_page=10&include=data%5B%2A%5D.answer_count%2Carticles_count%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F%28type%3Dbest_answerer%29%5D.topics&limit=10&offset=0",
"is_start": false,
"totals": 398
},
"data": [
{
"is_followed": true,
"avatar_url_template": "https://pic1.zhimg.com/da8e974dc_{size}.jpg",
"name": "陈晓峰",
"url": "",
"type": "people",
"user_type": "people",
"answer_count": 0,
"url_token": "chen-xiao-feng-84",
"headline": "阿里巴巴,分布式数据库,",
"avatar_url": "https://pic1.zhimg.com/da8e974dc_is.jpg",
"is_following": false,
"is_org": false,
"follower_count": 14,
"badge": [],
"id": "ff02ea0544901a9ddfcb7ba60c73b673",
"articles_count": 0
}
]
}
这些数据包括下一个请求地址、上一个请求地址、何时开始和何时结束、粉丝总数和追随者的基本信息
所以我们可以在一段时间内得到所有的粉丝:
过程:
第一次数据采集是结束字段判断是结束是真的根据是结束确定是否继续循环。如果循环结束,更新将结束以更新下一个连接请求
一次设置,你可以得到一个用户的所有球迷
我爱爪哇(QQ群):170936712(点击加入)