结论:
利用 模拟http请求 , 检索并处理 html文本数据 可以实现.
(性能方面考虑 , 优先考虑使用 模拟请求的方式 , 最后兜底考虑 selenium driver)
风险:
如果网页的数据结构变化 , 要重新编写检索和处理 文本数据的逻辑.
具体过程:
使用工具:
fiddler , chrome , 代码实现 http 请求以及响应处理
过程:
2.1 获取请求
-
使用 fiddler 抓包 ,抓取点击 search 按钮 时触发的请求
-
打开 chrome 控制台 , 抓取 点击 see Exact matches 按钮时触发的请求
抓到请求的结果具体见 文档 请求1:
2.2 分析请求 , 逐个删除请求头每个属性数据以及请求体每个属性数据 , 排查出影响请求复用的关键属性 .
最终确认 :
请求一的变量关键有两个:
- 图片url
- 请求头需要 User-Agent (例如 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3)
请求二的变量关键有两个:
- 我命名为 imageKey , 是在 请求一 返回的响应 html 数据中 (例子 : lens-web-standalone-prod/4020b005-4ded-4bd7-af47-31a5d7bc4bb7)
- 我命名为 imageToken , 是在 请求一 返回的响应 html 数据中 (例子:EkcKJDVmMDc3Y2M1LTU1ZTYtNGQ5My05Y2VhLWRhZGVmNTQ3MmQ0ZRIfazBBMDhjSVYzRElXOEdtc3p4TWZDbHRYUU1jQi1oZw\u003d\u003d)