Crée une page qui continue à produire du HTML sans fin et qui ne termine pas le chargement.
Je voulais gratter une page similaire, donc pour ce test. J'ai écrit la méthode de grattage dans cet article.
L'implémentation de la page de défilement infini est souvent faite avec javascript, et la source est finie (se termine), vous pouvez donc obtenir la source avec curl ou requests.get. Par contre, la configuration introduite cette fois-ci ne termine pas le chargement de la source, donc les habituels curl et requests.get expireront.
inf_page.py
import sys
import http.server
from http.server import SimpleHTTPRequestHandler
from http.server import BaseHTTPRequestHandler
from time import sleep
class infiniteHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.send_header('Transfer-Encodeing', 'chunked')
self.end_headers()
inc = 0
while(True):
try:
self.wfile.write(f"<p>Hello World ! {inc}</p>".encode("ascii"))
self.wfile.flush()
print("wrote")
sleep(2)
inc += 1
except:
break
return
server_address = ('127.0.0.1', 8000)
infiniteHandler.protocol_version = "HTTP/1.1"
httpd = http.server.HTTPServer(server_address, infiniteHandler)
sa = httpd.socket.getsockname()
print("Serving HTTP on", sa[0], "port", sa[1], "...")
httpd.serve_forever()
Parcourez [http: // localhost: 8000](http: // localhost: 8000) avec votre navigateur.
c'est tout. J'ai écrit la méthode de grattage dans cet article.
Recommended Posts