Python request 模拟登陆懒人法
最近做的项目需要大量的图片作为数据集,合作方将所有的图片都上传至服务器,本来想着用最简单的Python爬虫按照图片地址一张张爬下来就行,但这个系统有用户名与密码,按照图片的默认资源路径访问会跳转到登陆界面。查阅相关资料后得知我们访问资源时需要用requests模拟登陆,但我对cookies之类的也不是很熟悉,最后参考知乎大佬的方法,找到了一个既简单又万能的方法。
用到的库有“selenium”和“requests”。通过selenium进行模拟登陆,然后将Cookies传入requests,最终用requests进行网站的抓取。优点就是不但规避了“selenium”其本身抓取速度慢的问题(因为仅仅用其作为登陆),又规避了利用requests登陆时需要制作繁琐的Cookies的过程(因为是从selenium直接拿来cookies)。
你需要准备一个webdriver,我这里用的是chromedriver,自己去网上下载一个就行。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import requests,os
# 一个Python模拟登陆的万能模板
# 通过selenium进行模拟登陆,然后将Cookies传入requests
# 最终用requests进行网站的抓取,省去自己制作繁琐的Cookies
# ---------- 进行第一次登陆 -----------
browser = webdriver.Chrome('/Users/......../chrome