【问题标题】:Python (Post) submit a formPython (Post) 提交表单
【发布时间】:2015-06-03 03:32:03
【问题描述】:

我正在自学在网络上提交表单

但不知何故,帖子不起作用。

网址是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')]

【问题讨论】:

    标签: python post submit


    【解决方案1】:

    您不能使用 Beautifulsoup 提交表单。为此,您应该使用Mechanize。请参阅here 的示例,了解如何使用它进行表单提交。

    【讨论】:

    • 我尝试了 br.open('website..') 并弹出此错误。网站是否被阻止打开以防止机器人?回溯(最后一次调用):文件“course.py”,第 11 行,在 br.open('courselist.wm.edu/courselist') 文件“/usr/local/lib/python2.7/dist-packages/mechanize/ _mechanize.py”,第 203 行,在 open return self._mech_open(url, data, timeout=timeout) 文件“/usr/local/lib/python2.7/dist-packages/mechanize/_mechanize.py”,第 255 行,在 _mech_open 引发响应 mechanize._response.httperror_seek_wrapper:HTTP 错误 403:robots.txt 不允许请求
    • 查看this 答案及其链接的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 2017-06-27
    • 2021-09-02
    • 2013-08-24
    • 2017-10-23
    相关资源
    最近更新 更多