Come scrivere uno script Python per cercare in un sito Web HTML i collegamenti corrispondenti

StackOverflow https://stackoverflow.com/questions/2376798

  •  24-09-2019
  •  | 
  •  

Domanda

Non ho molta familiarità con Python e devo scrivere uno script per eseguire una serie di funzioni.Fondamentalmente il modulo di cui ho ancora bisogno è come controllare il codice di un sito web per verificare la corrispondenza dei collegamenti forniti in anticipo.

È stato utile?

Soluzione

Collegamenti corrispondenti cosa?Il loro attributo HREF?Il collegamento visualizza il testo?Forse qualcosa del tipo:

from BeautifulSoup import BeautifulSoup, SoupStrainer
import re
import urllib2

doc = urllib2.urlopen("http://somesite.com").read()
links = SoupStrainer('a', href=re.compile(r'^test'))
soup = [str(elm) for elm in BeautifulSoup(doc, parseOnlyThese=links)]
for elm in soup:
    print elm

Ciò catturerà il contenuto HTML di somesite.com e poi analizzarlo utilizzando BeautifulSoup, cercando solo i collegamenti il ​​cui attributo HREF inizia con "test".Quindi crea un elenco di questi collegamenti e li stampa.

Puoi modificarlo per fare qualsiasi cosa usando il file documentazione.

Altri suggerimenti

In generale, è possibile utilizzare urllib , urllib2 (htmllib ecc) per la programmazione web in Python. si potrebbe anche usare Mechanize , ricciolo ecc Poi per l'elaborazione di HTML e ottenere link, si vorrebbe usare parser come BeautifulSoup .

prova Scrapy, il quadro di estrazione web più completo.

http://scrapy.org

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top