通过HTTP发送和格式化变量



嘿,所以我一直在尝试制作一个脚本,只读取某人的关注者数量,然后将关注者数量发送回请求它的服务器。我完全不知道http是如何工作的,也不知道如何正确格式化变量来遍历它。每当我发出请求时,我都会收到一个错误的响应。我知道是什么导致了这种情况,是变量以及python如何格式化它,但我该如何通过http发送?有什么帮助吗?(而且这个服务器根本不会有太多流量(

import selenium
from selenium import webdriver
import time
import http
import http.server
import socketserver
from http.server import HTTPServer, BaseHTTPRequestHandler
import json
driver = webdriver.Chrome()
class requestHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('content-type', 'text/html')
self.end_headers

print(self.path[1:])
driver.get('https://www.tiktok.com/@%s?lang=en' % self.path[1:])
FOLLOWERS = driver.find_element_by_xpath('//*[@id="main"]/div[2]/div[2]/div/header/h2[1]/div[2]/strong').text
driver.close
print(str(FOLLOWERS))
self.wfile.write((str(FOLLOWERS).encode()))

def main():
PORT = 8000
server = HTTPServer(('', PORT), requestHandler)
print('Server running on port %s' % PORT)
server.serve_forever()
if __name__ == '__main__':
main()```

在结束标头时忘记创建函数调用。

self.end_headers()

是您想要的(缺少圆括号(。否则,chrome将不会将其识别为有效的HTTP响应。有趣的是,这段代码在使用firefox时是有效的。

最新更新