Python-在抓取网站时登录网站

时间:2014-08-16 17:54:41

标签: python beautifulsoup

我正在www.goodreads.com上登录我的帐户,从我的个人资料中删除书籍清单。

但是,当我进入goodreads页面时,即使我已登录,我的刮刀也只会获得主页。它无法登录我的帐户。如何将其重定向到我的帐户?

编辑:

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())

如果我运行此代码,我只能访问主页,即使我已登录浏览器,也无法登录到我的个人资料。

如何从刮刀登录?

3 个答案:

答案 0 :(得分:1)

实际上,当您访问该网站时,会出现一些名为会话的内容,其中包含有关您的accout的信息(不完全是这样的),您的浏览器可以使用它们,因此每次您访问你登录的主页面,但你的代码没有使用会话和这些东西,所以你应该从第一个开始做所有事情

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

this question显示了如何登录您的帐户

我希望它有所帮助。

答案 1 :(得分:0)

Goodreads有API您可能想要使用而不是尝试登录并抓取网站的HTML。它以XML格式化,因此您仍然可以使用BeautifulSoup - 只需确保已安装lxml并将其用作解析器。您需要注册开发人员密钥,并注册您的申请,但随后您就可以了。

答案 2 :(得分:0)

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

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

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