我是Python的新手,特别是网络编码。我试图制作一个要求姓名和姓氏的程序,然后检查Pipl是否有任何结果。我的策略"是直接转到带有结果的URL(包含信息),而不使用POST方法来完成网站的字段。我试过这个:
import http.client
name = input("Name: ")
surname = input("Surname: ")
url = "pipl.com/search/?q=" + name + "+" + surname + "&l=&sloc=&in=5"
conn = http.client.HTTPSConnection(url, 443)
conn.putrequest('GET', '/')
conn.endheaders()
r = conn.getresponse()
print(r.read())
我收到了这个错误:
socket.gaierror:[Errno -2]名称或服务未知
我认为这是因为我不只是使用域名(pipl.com),但没有任何帮助我,我仍然坚持到这里。
我还告诉自己使用POST可能会更容易。我再说一遍,我对网络编码很陌生(而且我没有最好的英语),我正在学习,所以感谢你的帮助!
答案 0 :(得分:0)
最好的方法是使用PIPL代码库。尽管如此,如果你想要一些更“快速和肮脏”的东西,可以使用python'requests'库(http://docs.python-requests.org/en/master/),它可以与pip一起安装,轻松地为你提供所需的东西。 我拿了你的初始代码并想出了这个:
import requests
name = input("Name: ")
surname = input("Surname: ")
url = "http://api.pipl.com/search/?first_name=" + name + "&last_name=" + surname + "&key=sample_key"
response = requests.get(url)
print (response.json())
最终结果是来自API的json响应。 在https://pipl.com/dev/reference/#response
了解有关API可能响应的更多信息