这个网站是怎么反爬取的鸭

2021-03-18 11:12:43 +08:00
 happydebug
http://www.chinadrugtrials.org.cn/clinicaltrials.searchlistdetail.dhtml?id=eb6173d1faf4447bb8e69aaca2547d09
1447 次点击
所在节点    问与答
4 条回复
crab
2021-03-18 12:20:53 +08:00
F12 有 2 个地方的 debugger 设置 never pause here
happydebug
2021-03-18 13:00:15 +08:00
@crab 这个我知道,但无法实现抓取
xingshu1990
2021-03-18 13:12:04 +08:00
通常这类网站是 JS 渲染出来的内容,另外有加密过,参考裁判文书网之类的网站,就是不给你爬虫爬。
cmostuor
2021-03-18 13:32:16 +08:00
浏览器 F12 调试模式 -> 网络 -> 找到网站请求的 url 右键 -> 复制->复制为 cURL(bash) 会得到这样的代码

curl 'http://www.chinadrugtrials.org.cn/clinicaltrials.searchlistdetail.dhtml?id=eb6173d1faf4447bb8e69aaca2547d09' \
-H 'Connection: keep-alive' \
-H 'Pragma: no-cache' \
-H 'Cache-Control: no-cache' \
-H 'DNT: 1' \
-H 'Upgrade-Insecure-Requests: 1' \
-H 'User-Agent: *****' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
-H 'Referer: http://www.chinadrugtrials.org.cn/clinicaltrials.searchlistdetail.dhtml?id=eb6173d1faf4447bb8e69aaca2547d09' \
-H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
-H 'Cookie: *****' \
--compressed \
--insecure
然后到 bash 里粘贴运行 发现拿到的页面数据是只是加密的 js, 也就意味着网页是客户端动态渲染的. 想抓取 那么得在爬数据前用 Selenium WebDriver 这类浏览器自动化的工具或浏览器源码定制开发渲染层或直接基于这样的工具或浏览器源码开发爬虫, 基于浏览器自动化工具开发爬虫最快.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/762729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX