저는 http를 처음 사용하기 때문에 도움이 필요합니다. craigslist에서 검색 양식을 작성하려고하므로 양식을 수동으로 채운 경우 일반적으로 얻은 페이지 링크를 얻을 수 있습니다.html get request "카테고리를 선택하지 않았습니다."
import urllib,httplib
conn = httplib.HTTPConnection("auburn.craigslist.org")
params = urllib.urlencode({'query': 'english tutor', 'catAbb': 'bbb'})
conn.request("GET","/search",params)
response = conn.getresponse()
print response.read()
잘 모르겠어요 대한 모든 것을, 예를 들면 :
<form id="search" action="/search/" method="GET">
<div>search craigslist</div>
<input type="hidden" name="areaID" value="372">
<input type="hidden" name="subAreaID" value="">
<input id="query" name="query" autocorrect="off" autocapitalize="off"><br>
<select id="catAbb" name="catAbb">
<option value="ccc">community</option>
<option value="eee">events</option>
<option value="ggg">gigs</option>
<option value="hhh">housing</option>
<option value="jjj">jobs</option>
<option value="ppp">personals</option>
<option value="res">resumes</option>
<option value="sss" selected="selected">for sale</option>
<option value="bbb">services</option>
</select>
<input id="go" type="submit" value=">">
</form>
그래서 내가 양식을 작성하기 위해 코드를 작성 : 소스를보고, 나는이 양식을 발견했습니다 어떤 양식을 작성하고 싶은지 어떻게 지정합니까? 나는 폼의 "action"에서 "\ search"를 지정하는 것으로 가정했지만 httplib.request의 'url'인수에 실제로 있어야합니까? 어쨌든, 대신에 내 원하는 결과 페이지에 URL을 받고, 나는이 HTML 페이지 수 :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>auburn craigslist search</title>
<blockquote>
<b>You did not select a category to search.</b>
</blockquote>
을하지만 내가 카테고리를 선택 않았다 확신 해요. 어떻게해야합니까? 감사!
POST가 아닌 GET 요청을 어떻게 예상하는지 어떻게 알 수 있습니까? – aldux
"method = GET"이라고 표시되어 있습니다. 그것은 가정입니다, 맞습니까? – nodwj
일반적으로 Fiddler와 같은 브라우저 플러그인을 사용하여 일반 브라우저를 사용하여 프로그래밍 방식으로 재생할 때 어떤 현상이 발생하는지 확인하는 것이 좋습니다. Fiddler를 사용하면 브라우저에서 보낸 HTTP GET 요청의 구조를 정확하게 볼 수 있습니다. –