0%

爬虫: 如何爬虫需要登录才能下载数据?

爬虫: 如何爬虫需要登录才能下载数据?

对于一般需要登录账号才能下载数据的网站, 我们不可能直接使用requests.get爬取数据. 为了能够保存用户登录的cookies以及相关信息, 此时就需要用到session了.

s = requests.Session()
user_agent = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4173.2 Safari/537.36"
}
s.headers = user_agent
req = s.get(url="url")
csrftoken = re.findall("csrftoken=(.*?);", str(req.headers))[0]

# 设置账号信息
user_login = {
    "csrfmiddlewaretoken": csrftoken,
    "username": "",
    "password": ""
}

# 登录
s.post(url="www/user/login/",
       data=user_login)

# 获取下载链接
req = s.get(url="urls")

# 下载csv文件
req = pd.read_csv(io.BytesIO(req.content))
# 下载其他类型文件

原文博主: 热衷开源的宝藏Boy
原文链接: http://www.fangzengye.com/article/1626951296
版权声明: 自由转载-非商用-禁止演绎-保持署名| CC BY-NC-ND 3.0

评论区