https://www.searchiqs.com/nybro/ 사이트를 긁어 모으려고합니다. 검색 양식으로 이동하려면 "손님으로 로그인"을 클릭해야합니다. "Andrew 결과에 페이지 매기기가 포함되어 있으며 요청 유형이 POST이므로 URL이 변경되지 않고 세션이 매우 빨리 시간 초과됩니다. 따라서 10 분을 기다렸다가 검색 URL 페이지를 새로 고치면 시간 초과 오류가 발생합니다파이썬으로 aspx 페이지를 긁는 방법
최근에 긁어 모으기 시작 했으므로 대부분 URL을 해독 할 수있는 GET 게시물을 작성했습니다. 이제까지 DOM을 살펴 봐야한다는 것을 알게되었습니다. Chrome 도구를 사용하여 헤더를 발견했습니다. 네트워크 탭에서 검색 페이지에서 결과 p로 전달되는 양식 데이터로 다음을 찾아 냈습니다. 나이
__EVENTTARGET:
__EVENTARGUMENT:
__LASTFOCUS:
__VIEWSTATE:/wEPaA8FDzhkM2IyZjUwNzg...(i have truncated this for length)
__VIEWSTATEGENERATOR:F92D01D0
__EVENTVALIDATION:/wEdAJ8BsTLFDUkTVU3pxZz92BxwMddqUSAXqb... (i have truncated this for length)
BrowserWidth:1243
BrowserHeight:705
ctl00$ContentPlaceHolder1$scrollPos:0
ctl00$ContentPlaceHolder1$txtName:david
ctl00$ContentPlaceHolder1$chkIgnorePartyType:on
ctl00$ContentPlaceHolder1$txtFromDate:
ctl00$ContentPlaceHolder1$txtThruDate:
ctl00$ContentPlaceHolder1$cboDocGroup:(ALL)
ctl00$ContentPlaceHolder1$cboDocType:(ALL)
ctl00$ContentPlaceHolder1$cboTown:(ALL)
ctl00$ContentPlaceHolder1$txtPinNum:
ctl00$ContentPlaceHolder1$txtBook:
ctl00$ContentPlaceHolder1$txtPage:
ctl00$ContentPlaceHolder1$txtUDFNum:
ctl00$ContentPlaceHolder1$txtCaseNum:
ctl00$ContentPlaceHolder1$cmdSearch:Search
대문자로 된 모든 것들이 숨겨져 있습니다. 또한 결과 구조를 파악할 수있었습니다.
내 스크립트는 내가 다음에 무엇을 해야할지에 대해 완전히 공백 상태이므로 실제로 애처 롭다. 나는 여전히 양식 제출을하고, 페이지 매김을 분석하고 결과를 긁어 낸다. 그러나 어떻게 진행해야할지 전혀 모른다.
import re
import urlparse
import mechanize
from bs4 import BeautifulSoup
class DocumentFinderScraper(object):
def __init__(self):
self.url = "https://www.searchiqs.com/nybro/SearchResultsMP.aspx"
self.br = mechanize.Browser()
self.br.addheaders = [('User-agent',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7')]
##TO DO
##submit form
#get return URL
#scrape results
#analyze pagination
if __name__ == '__main__':
scraper = DocumentFinderScraper()
scraper.scrape()
어떤 도움이 될 것이다 사랑스러운
POST를 보내거나 대신에 정말 양식을 제출의 GET하는 것이 더 쉽습니다. 페이지가 보이지 않을 때까지 다음 단추를 찾아 클릭하여 페이지 매김을 수행 할 수 있습니다. –
http://stackoverflow.com/questions/37393171/how-to-scrap-images-from-a-aspx-page/37401048#37401048 –
파이썬 스크립트에 이것을 추가 할 수도 있습니다 :'logger = logging .getLogger ("mechanize") logger.addHandler (logging.StreamHandler (sys.stdout)) logger.setLevel (logging.INFO)'. 그것은 디버깅 섹션에서 발견 : http://wwwsearch.sourceforge.net/mechanize/ ... (그것은 3 라인, 그건 그렇고 - 코멘트에서 제대로 서식을 지정할 수 없습니다). – Zeth