2016-05-22 9 views
0

Ich bin nicht gut in Englisch. Also bitte sei gut, mein peinliches Englisch zu verstehen.Ich benutzte den Python-Crawler. Warum Ursache des Ausbruchs HTTP 405 Fehler?

Ich habe versucht, die HTTP-POST zu kriechen Google entstanden

aber ein Problem haben werden.

Problem ist die HTTP 405 Fehler in der Ausgabeseite aufgetreten

Dies wird Python 3.5.1 Quelle

import requests 
from bs4 import BeautifulSoup 

def image_upload(): 
    filePath = 'C:/test.jpg' 
    searchUrl = 'http://www.google.com/searchbyimage/upload' 
    multipart = {'encoded_image': (filePath, open(filePath, 'rb')), 'image_content': ''} 
    response = requests.post(searchUrl, files=multipart, allow_redirects=False) 
    plain_text = response.text 
    soup = BeautifulSoup(plain_text,"html.parser") 
    for link in soup.find_all('a'): 
     return link.get('href') 

def Crawling(target_link): 
    response = requests.post(target_link) 
    html_content = response.text.encode(response.encoding) 
    soup = BeautifulSoup(html_content, "html.parser") 
    edutData = soup.find_all('a', {'class':'bili uh_r rg_el uvg-i'}) 
    print(soup) 

iamge_link = image_upload() 
print(iamge_link) 
Crawling(iamge_link) 

Warum in Ausgabeseite passieren die HTTP 405 Fehler probluem?

Antwort

0

Die Http-Antwort 405 wird zurückgegeben, wenn die von Ihnen verwendete Anforderungsmethode nicht unterstützt wird. In Ihrem Fall wird post möglicherweise nicht von dem Endpunkt unterstützt, auf den Sie zugreifen.

Als Referenz Http Response 405

+0

Vielen Dank für Ihre Antwort. –

+0

@ 상현상현 Ich hoffe, Sie konnten das Problem in Ihrem Fall herausfinden. Wenn die Antwort Ihnen hilft, können Sie sie als akzeptiert markieren und die Frage schließen. –