加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python RoboBrowser – 如何从此页面获取内容

发布时间:2020-12-20 13:52:21 所属栏目:Python 来源:网络整理
导读:我试图在第 http://pretraga2.apr.gov.rs/ObjedinjenePretrage/Search/Search页提交表格 但是我收到错误(HTML)像: !DOCTYPE htmlhtmlhead titleError/title/headbody h2 Sorry,an error occurred while processing your request. /h2/body/html 当前的Pytho
我试图在第 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)

我试图添加标题,但没有运气.
?还有什么问题呢?

解决方法

这已经解决了.
我注意到页面上有两个名称相同的表单.我认为第一个(由display:none隐藏)作为蜜罐提交.

无论如何,解决方案是:

form = browser.get_forma(action='/ObjedinjenePretrage/Search/SearchResult')[1]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读