导入:from selenium import webdriver
对于需要登录的网站进行爬取,需要提供cookie等信息,
有的需要手动添加header头字段,而如果头字段的值是cookie的某个值呢,需要保持登陆状态
首先获取cookie,为后面做铺垫
#手动登录,获取cookie
#当然,如果你一开始就需要添加header头,可以掉过获取cookie这一步
#默认配置创建WebDriver 实例
driver = webdriver.Chrome()
#指定url
url = "https://tianyancha.com"
#打开该url,手动登录
driver.get(url)
#预留足够的时间进行密码输入
time.sleep(25)
#获取cookie,注意是get_cookies()不是get_cookie()
cookie = driver.get_cookies()\
#关闭浏览器
driver.quit()
接下来指定用户数据目录,就可以不需要登录了
#创建 ChromeOptions 对象,写入配置后再创建实例
options = webdriver.ChromeOptions()
#指定用户数据目录 chrome浏览器可以再url输入:chrome://version/ 就可以看到了
options.add_argument('--user-data-dir=/path/to/user/data/directory')
#启动WebDriver 实例,并传递配置选项
driver = webdriver.Chrome(options=options)
# 添加自定义的请求头
headers = {
'User-Agent': 'Your User Agent String',
'Accept-Language': 'en-US,en;q=0.9',
'Custom-Header': 'Custom Value',
}
for key, value in headers.items():
options.add_argument(f'--header={key}: {value}')
#接下来你访问url就会自动登录 并 带入自定义的header头字段
# 打开一个页面
driver.get("https://example.com")
# 获取页面的 HTML 源代码
html_source = driver.page_source