案例地址:https://www.semi.org/en/news-media-press/semi-press-releases
看似普通的get请求,但在本地拿requests请求会返回需要验证
通过观察可以发现,这是 Cloudflare的反爬措施。
一般情况,只要过了中间的校验,就能正常访问了。
在验证的位置有一个form表单。此时可以判断,如果ID等于challenge-form的元素,那么则需要校验。
但是html中并没有找到submit的位置。倒是有几个隐藏的input框。
猜测检验过程就在JS文件中, 不过并没有具体看。
网上已经有人开源了解决方法, pip install cloudscraper
示例代码:
代码语言:javascript复制import cloudscraper
url = ''
scraper = cloudscraper.create_scraper()
html = scraper.get(url).text