2015-06-02 3 views
1

Я преподаю себе, отправив форму в ИнтернетеPython (Post) отправить форму

но как-то не работает.

URL-адрес является https://courselist.wm.edu/courselist/

и код до сих пор:

from bs4 import BeautifulSoup 
import requests 
import urllib 
import re 

url = 'http://courselist.wm.edu/courselist' 
with requests.Session() as session: 

    response = session.get(url) 
    soup = BeautifulSoup(response.content) 

    data = { 
     'term_code' : '201530', 
     'term_subj' : 'AFST', 
     'attr' : '0', 
     'levl' : '0', 
     'status' : '0' 
    } 

    r = session.post(url, data=data) 

    #response = session.post(url, data=data) 
    print r.content 
    #soup = BeautifulSoup(response.content) 

    #for row in soup.select('table'): 
    # print [td.text for td in row.find_all('td')] 

ответ

0

Вы не можете отправить форму с BeautifulSoup. Для этого вы должны использовать Mechanize. См. here пример того, как использовать его для отправки формы.

+0

Я попробовал br.open ('website ..'), и эта ошибка появляется. Является ли сайт заблокированным для предотвращения робота? Traceback (последний последний звонок): Файл «course.py», строка 11, in br.open ('http://courselist.wm.edu/courselist') Файл «/ usr/local/lib/python2.7/dist-packages/mechanize/_mechanize.py ", строка 203, открыта return self._mech_open (url, data, timeout = timeout) Файл« /usr/local/lib/python2.7/dist- пакеты/mechanize/_mechanize.py ", строка 255, в _mech_open реакция на ответ mechanize._response.httperror_seek_wrapper: Ошибка HTTP 403: запрос, запрещенный robots.txt – GJCho

+0

См. [this] (http://stackoverflow.com/questions/ 18096885/python-mechanize-request-dis -owed-robots-txt-even-after-set-handle-robot) ответ и тот, на который он ссылается. – doru