下载HTML数据而不导入Python中的模块?

2024-05-05 14:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用buildozer工具,因此requestsurlliburllib2urllib3在默认情况下不可用。它们需要手动创建一个C配方,以便使用buildozer。我不懂C,所以不太可能

使用Python,有没有什么方法可以将html数据从url下载到变量中,而不需要导入任何模块? 我不介意如果这是一个较长的过程,然后需要上述模块,因为我没有选择哈哈


Tags: 模块工具数据方法url过程html配方
2条回答

您可以使用套接字:

import socket
class WebData:
  def __init__(self, url):
     self.url = url
  @property
  def page_data(self):
     return self.webpage_data
  def __enter__(self):
     self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     self.s.connect((self.url , 80))
     self.s.sendall("GET http://{} HTTP/1.0\n\n".format(self.url))
     self.webpage_data = self.s.recv(4096)
     return self
  def __exit__(self, *args):
     self.s.close()

with WebData('www.python.org') as f:
   print(f.page_data)

urllib是一个本机库,buildozer似乎有(bug)支持

更多信息可以在buildozer页面的this bug report中找到

相关问题 更多 >