이미 많은 좋은 리소스가 stackoverflow에 있지만 여전히 문제가 있습니다. 나는이 소스를 방문한 :파이썬, 스크랩 및 게시 웹 사이트 탐색
- how to submit query to .aspx page in python
- Submitting a post request to an aspx page
- Scrapping aspx webpage with Python using BeautifulSoup
- http://www.pythonforbeginners.com/cheatsheet/python-mechanize-cheat-sheet
내가 http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx을 방문하여 교구를 선택하려고 시도하고있다. 나는이 게시물을 강제하고 내가 다시 게시하고 더 많은 선택을 허용 올해를 선택할 수 있습니다 믿습니다. 나는 위의 소스를 따라 스크립트를 작성하고 1 년을 입력 할 수 있도록 사이트를 성공적으로 제출하지 못했습니다.
나는 또한 쉘에서 이것을 시도했고 내가 입력 한 플러스 내가 (대량 줄이려고 수정) 내가
http://pastebin.com/KAW5VtXp을 어쨌든 찾을 수 있습니다받은 것을
import urllib
from bs4 import BeautifulSoup
import mechanize
headers = [
('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
('Origin', 'http://www.indiapost.gov.in'),
('User-Agent', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17'),
('Content-Type', 'application/x-www-form-urlencoded'),
('Referer', 'http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx'),
('Accept-Encoding', 'gzip,deflate,sdch'),
('Accept-Language', 'en-US,en;q=0.8'),
]
br = mechanize.Browser()
br.addheaders = headers
url = 'http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx'
response = br.open(url)
# first HTTP request without form data
soup = BeautifulSoup(response)
# parse and retrieve two vital form values
viewstate = soup.findAll("input", {"type": "hidden", "name": "__VIEWSTATE"})
eventvalidation = soup.findAll("input", {"type": "hidden", "name": "__EVENTVALIDATION"})
formData = (
('__EVENTVALIDATION', eventvalidation[0]['value']),
('__VIEWSTATE', viewstate[0]['value']),
('__VIEWSTATEENCRYPTED',''),
)
try:
fout = open('C:\\GIS\\tmp.htm', 'w')
except:
print('Could not open output file\n')
fout.writelines(response.readlines())
fout.close()
내 현재 코드 교구 드롭 다운 목록의 값을 변경하고 웹 마스터 로그인 페이지로 이동하십시오.
올바른 방법으로 접근하고 있습니까? 모든 생각은 매우 도움이 될 것입니다.
감사합니다.