使用Python套接字从URL获取HTML内容
是否有一种方法可以使用Python中的套接字从URL(而不是主机名)检索网页内容?socket.connect()仅适用于主机名。我可以从www.python.org获得内容,但不能从www.python.org/about获得使用Python套接字从URL获取HTML内容,python,sockets,Python,Sockets,是否有一种方法可以使用Python中的套接字从URL(而不是主机名)检索网页内容?socket.connect()仅适用于主机名。我可以从www.python.org获得内容,但不能从www.python.org/about获得 谢谢 K找到了答案。我应该在发送到服务器的GET请求中指出路径 在www.python.org/about/中,www.python.org是主机名,/about/是路径。因此,要发送的字符串将是“GET/about HTTP…”。比如: import socket f
谢谢 K找到了答案。我应该在发送到服务器的GET请求中指出路径 在www.python.org/about/中,www.python.org是主机名,/about/是路径。因此,要发送的字符串将是“GET/about HTTP…”。比如:
import socket
from urllib import parse # for separating path and hostname
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
url = parse.urlparse(link)
s.connect((url[1], 80))
msg = "GET " + link[2] + " HTTP/1.0\r\n\r\n"
s.sendall(msg)
s.recv(4096)
你绝对想使用
socket
s有什么原因吗?最好使用requests
module获取htmlshow社区使用socket API检索www.python.org的代码。@MattiLyra,刚刚学习了python中的socket编程,不明白为什么我只能从一些网站获取内容,而不能从其他网站获取内容。