在使用请求刮取python发送cookie时遇到麻烦

时间:2015-12-14 22:34:20

标签: python cookies beautifulsoup python-requests

前段时间我用Java编写了一个程序来刮取我大学的课程目录。我决定切换到python,因为我需要更轻量级的东西。

对于我的java scraper,我使用了jSoup。对于我的python项目,我使用BeautifulSoup并请求库。

我尝试访问的网址:https://webapp4.asu.edu/catalog/classlist?s=MAT&n=243&t=2157&e=open&hon=F

问题是如果没有正确的cookie,链接将重定向,询问您是否正在寻找校园课程或在线课程。一旦您选择了校园,该链接将起作用。我做了一些研究,发现请求是依赖于cookie的。在java中代码工作正常,看起来像这样:

Document doc = null;
    String url = "https://webapp4.asu.edu/catalog/classlist?s=MAT&n=243&t=2157&e=open&hon=F";

    try {
        Connection connection = Jsoup.connect(url)
                .cookie("onlineCampusSelection", "C");
        connection.timeout(0);
        doc = connection.get();

    } catch (IOException e) {
        e.printStackTrace();
    }

现在我试图在python中重新创建它,这是我到目前为止所拥有的。

import requests
from BeautifulSoup import BeautifulSoup

url = 'https://webapp4.asu.edu/catalog/classlist?s=MAT&n=243&t=2157&e=open&hon=F'
cookies = dict(onlineCampusSelection = 'C')

r = requests.get(url, cookies=cookies)
print r.text

任何帮助都会非常感激。

我已阅读文档中的请求,但找不到我的解决方案。当我运行代码时,这是我收到的错误。 Connection Forcibly Closed

0 个答案:

没有答案