3

ページでフォームを送信しようとしていますhttp://pretraga2.apr.gov.rs/ObjedinjenePretrage/Search/Search

ただし、次のようなエラー(HTML)を受け取ります:

<!DOCTYPE html>
<html><head>
    <title>Error</title>
</head>
<body>
    <h2>
        Sorry, an error occurred while processing your request.
    </h2>

</body></html>

現在の Python スクリプト:

#!/usr/bin/python
# vim: set fileencoding=utf-8 :
import win_unicode_console

win_unicode_console.enable()

import requests
from bs4 import BeautifulSoup

import urllib.parse
import re
from robobrowser import RoboBrowser

# import warnings
# warnings.filterwarnings("ignore")

# Browse to Genius
browser = RoboBrowser(history=True)
hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
       'Accept-Encoding': 'none',
       'Accept-Language': 'en-US,en;q=0.8',
       'Connection': 'keep-alive'}
s = requests.Session()
s.headers = hdr
browser = RoboBrowser(session=s)
browser.open('http://pretraga2.apr.gov.rs/ObjedinjenePretrage/Search/Search')
#
form = browser.get_form(action='/ObjedinjenePretrage/Search/SearchResult')
form['SearchByRegistryCodeString'].value = '53254136'
browser.submit_form(form)

print(browser.parsed)

ヘッダーを追加しようとしましたが、うまくいきません。他に何が問題になる可能性がありますか?

4

1 に答える 1

1

これは今のところ解決されています。ページに同じ名前のフォームが 2 つあることに気付きました。最初のもの (display:none で非表示) はハニーポットとして送信されたと思います。

とにかく解決策は次のとおりです。

form = browser.get_forma(action='/ObjedinjenePretrage/Search/SearchResult')[1]
于 2015-08-19T21:38:02.767 に答える