pathon爬虫:selenium骚操作——模拟用户行为获取百度翻译的token、BAIDUID、yjs_js_security_passport

前情提要

爬过百度翻译的朋友们应该都知道:
百度翻译的 sign 参数破解需要一些逆向能力,已经有很多大神讲了,我就不重复了。破解 sign 后还可能遇到另一个问题:同一个 token 和 cookie 可翻译的次数有限,次数过多时会触发百度的反爬机制。 大规模调用的时候需要更多的 token 和 cookie 。

那么需求来了:我们需要一个 token 和 cookie 池。
发送请求的时候,User-Agent、cookie、token三个值缺一不可。
cookie中最重要的两个值是:BAIDUID、yjs_js_security_passport。
yjs_js_security_passport 的构造机制比较复杂,是由很多函数经过加密处理过的,逆向能力较弱的小伙伴只能缴枪投降。

换个思路,既然 User-Agent 不变,我们可以试试用 selenium 看能不能直接读取到 token 和 cookie。

开启浏览器

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import requests
import re

#以下三行为无头模式运行,无头模式不开启浏览器,也就是在程序里面运行的
# chrome_options = Options()
# chrome_options.add_argument("--headless")
# browser = webdriver.Chrome(executable_path=(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'), options=chrome_options)

#以下一行为有头模式运行,开启浏览器,在程序外面运行的。
#executable_path请放自己的chromedriver.exe路径
browser = webdriver.Chrome(executable_path=(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'))

url = "https://fanyi.baidu.com"
browser.get(url)

获取token

pathon爬虫:selenium骚操作——模拟用户行为获取百度翻译的token、BAIDUID、yjs_js_security_passport_第1张图片
我们发现token值可以在源代码中直接获取。
因为在

你可能感兴趣的:(selenium,python,chrome,百度翻译,爬虫,搜索引擎,java爬虫程序,爬虫搜索,关键字搜索)