python在抓取i时登录到一个站点

2024-04-25 19:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在登录我的帐户www.goodreads.com网站从我的个人资料里搜出书单。在

然而,当我进入goodreads页面时,即使我已经登录,我的scraper也只能得到主页。它无法登录我的帐户。如何将其重定向到我的帐户?在

编辑:

from bs4 import BeautifulSoup
import urllib2
response=urllib2.urlopen('http://www.goodreads.com')
soup = BeautifulSoup(response.read())

[x.extract() for x in soup.find_all('script')]
print(soup.get_text())

如果我运行这段代码,我只得到主页,我不能登录到我的个人资料,即使我已经登录到浏览器。在

如何从刮板登录?在


Tags: importcom网站responsewww帐户主页页面
3条回答

实际上,当你访问这个站点时,有一个叫做sessions的东西,它包含了关于你账户的信息(不完全是这样的),你的浏览器可以在每次你登录主页时使用它们,但是你的代码不使用sessions和这些东西,所以你应该从第一个

1)转到主页2)登录3)收集数据

并且this question还演示了如何登录到您的帐户

我希望有帮助。在

Goodreads有一个API,您可能希望使用它来代替登录和抓取站点的HTML。它是XML格式的,所以您仍然可以使用BeautifulSoup-只需确保安装了lxml,并将其用作解析器。您需要注册一个开发人员密钥,还需要注册您的应用程序,但这样就可以开始了。在

您可以使用urllib2或requests库登录,然后获取响应。根据我的经验,使用请求要容易得多。在

以下是关于同时使用urllib2和请求登录的一个很好的解释:

How to use Python to login to a webpage and retrieve cookies for later usage?

相关问题 更多 >