0
我试图抓取登录页面后面的网页。
我知道如何使用Python的requests.session()
登录。
但是,当我检索网页时,它似乎没有完全加载。
我收到的html与通过浏览器登录时显示的html不同。Python网站登录和刮页(延迟?)
我的代码是这样的:
session = requests.session()
login_data = {'email': 'myemailaddress', 'password': 'mypassword'}
session.post(url_login, login_data)
r = session.get(url_homepage)
soup = bs(r.content, 'lxml')
print(soup.prettify())
我得到的印象是,该网站做的url_homepage
初始加载后,一些脚本或重定向我已经试图把一个time.sleep(10)
在post
和get
之间,但这并不能解决问题。
我猜我需要session.get()
等待几秒钟才能得到实际的结果,但session.get()
不允许。
有没有人知道如何做到这一点,或者可以给我怎样的建议,请继续?
我使用Python 3.6,但其他版本的解决方案也没关系。
'R = requests.get(url_login,follow_redirects = TRUE)'做这个产量的任何不同的结果?你可以用'r.url'来检查重定向,这与通过浏览器访问时的值是否相同? – RandomHash
有时,html内容根据'User-Agent'而不同,尝试将其添加到'headers'。另外,你有没有检查过你的cookies,即:'session.cookies.get_dict()'? –
@ 0x52-0x75-0x63-0x79'follow_redirects'似乎不是一个有效的参数。我得到这个错误:'File“C:\ Python \ Python36 \ lib \ site-packages \ requests \ sessions.py”,第501行,获得 返回self.request('GET',url,** kwargs) TypeError:request()得到了一个意外的关键字参数'follow_redirects'' –