2
웹 사이트에서 일부 데이터를 긁어 내고 POST가 작동하지 않을 수 있습니다. 입력 데이터를 제공하지 않은 것처럼 작동합니다. ("appnote").인코딩 된 POST URL 대 파이썬을 통한 라인 기반 텍스트 데이터 요청
POST 데이터를 조사 할 때 실제 webform의 POST가 "URL 인코딩 됨"으로 표시되고 각 양식 입력이 나열된다는 점을 제외하고는 상대적으로 같습니다. 반면 광산은 "라인 기반 텍스트 데이터"로 표시됩니다.
: 나는 와이어 샤크에 무슨 말인지의 이미지
import requests import cookielib jar = cookielib.CookieJar() url = 'http://www.vivotek.com/faq/' headers = {'content-type': 'application/x-www-form-urlencoded'} post_data = {#'__EVENTTARGET':'', #'__EVENTARGUMENT':'', '__LASTFOCUS':'', '__VIEWSTATE':'', '__VIEWSTATEGENERATOR':'', '__VIEWSTATEENCRYPTED':'', '__PREVIOUSPAGE':'', '__EVENTVALIDATION':'' 'ctl00$HeaderUc1$LanguageDDLUc1$ddlLanguage':'en', 'ctl00$ContentPlaceHolder1$CategoryDDLUc1$DropDownList1':'-1', 'ctl00$ContentPlaceHolder1$ProductDDLUc1$DropDownList1':'-1', 'ctl00$ContentPlaceHolder1$Content':'appnote', 'ctl00$ContentPlaceHolder1$Search':'Search' } response = requests.get(url, cookies=jar) response = requests.post(url, cookies=jar, data=post_data, headers=headers) print(response.text)
링크가 필요합니다 (애플리케이션 노트) 및 검색 (검색) 가장 관련성이 부분은 다음과 같습니다 여기
내 코드입니다 Wireshark Form
같은 결과를 가진 wget을 사용해 보았습니다.
, 감사
여기
BeautifulSoup
HTML 파서와requests
를 사용하여 솔루션입니다! 그래서 내가 놓친 핵심은 세션 데이터입니다. 그건 의미가 있습니다! – Ganeshvara