你好我现在正试图从需要登录的网站上获取信息。
但是我已经在reqeustURL中得到200个响应,我应该发布一些ID,密码和请求。
标题dict具有在chrome开发者网络点击中可以看到的requests_headers。表格数据字典有ID和密码。
login_site = requests.post(requestUrl, headers=headers, data=form_data)
status_code = login_site.status_code print(status_code)
我得到200
以下代码是我尝试的方式。
1。会话。
当我尝试使用会话设置cookie时,我失败了。我听说当我刮掉其他需要登录的页面时,会话可以设置cookie。
session = requests.Session() session.post(requestUrl, headers=headers, data=form_data) test = session.get('~~') #the website that I want to scrape print(test.status_code)
我得到了403
2。手动设置cookie
我手动制作了我可以获得的cookie词典
cookies = {'wcs_bt':'...','_production_session_id':'...'} r = requests.post('http://engoo.co.kr/dashboard', cookies = cookies) print(r.status_code)
我也有403
实际上,我不知道我应该在cookies字典中写些什么。当我得到时,' wcs_bt = AAA; _production_session_id = BBB; _ga = CCC;' ,我应该将其更改为dict {' wcs_bt':' AAA' ..}? 当我得到饼干时
login_site = requests.post(requestUrl, headers=headers, data=form_data)
print(login_site.cookies)
在这段代码中,我只能得到 RequestsCookieJar [Cookie _production_session_id = BBB]
不知何故,我也失败了。
我怎样才能用饼干刮掉它?
答案 0 :(得分:0)
刮擦需要登录的现代(大约2017年或更晚)网站可能非常棘手,因为登录过程的某些重要部分可能是在Javascript中实现的。
除非您像浏览器那样完全执行Javascript,否则您将无法完成登录。不幸的是,基本的Python库无济于事。
考虑Selenium with Python,它用于测试网站,但可用于自动化与网站的任何交互。