Lazy loaded image
Spider
Espacenet专利文件抓取
字数 510阅读时长 2 分钟
2024-7-23
2024-9-14
type
status
date
slug
summary
tags
category
icon
password
 
 
点击 Download 后,需要校验验证码,验证码类型是纯数字的,比较好识别,并且发现请求中出现了Cloudflare相关的cookie。
notion image
 

一.网络请求分析

1.获取pdf下载地址

 
通过此请求可以获取到用于下载 PDF 的相关参数,注意网站使用了 Cloudflare,所以需要用 curl_cffi 发送请求。并且使用 Session 对象来维持会话状态,以确保请求的连续性。
 
key
value
URL
https://worldwide.espacenet.com/data/publicationDetails/originalDocument?CC=US&NR=D1035009S&KC=S&FT=D&ND=3&date=20240709&DB=&locale=en_EP&rnd=1721718436431
Method
GET
 
 

2.获取验证码

 
通过传入pdf下载地址相关参数,两次请求通过cookie进行关联。
 
第一步:获取cookie
key
value
URL
https://worldwide.espacenet.com/captchaChallengeController?original_requestUrl=%2Fdata%2FespacenetDocument.pdf&original_request_method=GET&original_request_parameters=CC__US%3B%3Bdate__20240709%3B%3BNR__D1035009S%3B%3Bflavour__trueFull%3B%3Blocale__en_EP%3B%3BFT__D%3B%3Bpopup__true%3B%3BND__4%3B%3BKC__S&DATA_FEED_REQUEST_HOST=&DATA_FEED_REQUEST_EXTRA_PARAMETERS=
Method
GET
 
参数分析
key
value
original_requestUrl
/data/espacenetDocument.pdf
pdf地址
original_request_method
GET
original_request_parameters
CC__US;;date__20240709;;NR__D1035009S;;flavour__trueFull;;locale__en_EP;;FT__D;;popup__true;;ND__4;;KC__S
DATA_FEED_REQUEST_HOST
DATA_FEED_REQUEST_EXTRA_PARAMETERS
第二步:获取验证码图片
key
value
URL
https://worldwide.espacenet.com/captchaChallengeGenerator?rnd=0
Method
GET
notion image

3.下载pdf文件

 
提交正确的验证码后,通过 302 Redirect 自动下载文件。
key
value
URL
https://worldwide.espacenet.com/captchaChallengeController/verify
Method
POST
Form Data
response: 395016
notion image
 

二.代码实现

 
 

📎 知识星球

💡
加入星球,获取更多知识~
notion image
 
上一篇
天气查询免费API接口
下一篇
谷歌文字转语音(TTS)

评论
Loading...