2017-07-09 1 views
0

Hallo alles, ich versuche Text von mehreren Websites zu extrahieren alles funktioniert in Ordnung, aber wenn ich das Skript ausführen, extrahiere ich nur eine Website aus der Domäne (Liste), die ich erstellt habe 3 Websites was ich falsch mache ich brauche alle domian Elemente in eine DateiWie verarbeitet man alle Artikel in einer Liste

Dank

from bs4 import BeautifulSoup 
import requests 
import urllib3 
import certifi 

http = urllib3.PoolManager(
    cert_reqs='CERT_REQUIRED', 
    ca_certs=certifi.where()) 

domain =('https://www.betfair.com/exchange/', 'https://docs.python.org/3/library/urllib.parse.html','https://anaconda.org/pypi/urllib3') 
for url in domain: 
    page = requests.get(url, verify=True) 
    soup = BeautifulSoup(page.content, 'html.parser') 
    content = (soup.get_text().encode('utf-8')) 
    with open("article.txt", "w") as wa, open("article.txt", "r") as ra, open('outfile.txt', "w") as outfile: 
     wa.write(content) 
     for line in ra: 
      if not line.strip(): continue 
      outfile.write(line) 
+0

hilft Ich glaube, Sie jedes Mal vorherige Informationen sind überschreiben, da Sie die „w“ haben beim Öffnen der Datei – frozen

+0

Es funktionierte Danke – Mike

+0

Sie setzen Domain auch als Tupel und nicht als Liste ein. Du willst '[' s lieber als '(' wenn du die Domain zuweisst. – Qiri

Antwort

-1

ich glaube, zu extrahieren, dass Sie die Datei überschrieben wird jedes Mal. Deshalb sollten Sie die Dateien in einem Zufügen-Modus geöffnet werden soll, wie folgt aus:

with open('filename.txt', 'a'): 
    ... 

Hoffe, dass es

+0

Aber ich denke, ich muss die Datei jedes Mal säubern, wenn ich das Skript benutze – Mike

Verwandte Themen