logo

Llegir el contingut de la pàgina web seleccionat mitjançant Python Web Scraping

Requisit previ: Descàrrega de fitxers en Python Web Scraping amb BeautifulSoup Tots sabem que Python és un llenguatge de programació molt fàcil, però el que el fa genial és la gran quantitat de biblioteques de codi obert escrites per a ell. Requests és una de les biblioteques més utilitzades. Ens permet obrir qualsevol lloc web HTTP/HTTPS i ens permet fer qualsevol tipus de coses que fem normalment a la web i també podem desar sessions, és a dir, galetes. Com tots sabem que una pàgina web és només un fragment de codi HTML que el servidor web envia al nostre navegador que al seu torn es converteix en la bonica pàgina. Ara necessitem un mecanisme per aconseguir el codi font HTML, és a dir, trobar algunes etiquetes particulars amb un paquet anomenat BeautifulSoup. Instal·lació:
pip3 install requests 
pip3 install beautifulsoup4 

Prenem un exemple llegint un lloc de notícies Hindustan Times

El codi es pot dividir en tres parts.
  • Sol·licitant una pàgina web
  • Inspeccionant les etiquetes
  • Imprimeix el contingut adequat
Passos:
    Sol·licitant una pàgina web:Primer veiem el clic dret sobre el text de la notícia per veure el codi font Llegir el contingut de la pàgina web seleccionat mitjançant Python Web Scraping' title= Inspecció de les etiquetes:Hem d'esbrinar en quin cos del codi font conté la secció de notícies que volem eliminar. És la llista no ordenada sota uli.e "searchNews" que conté la secció de notícies. Llegir el contingut de la pàgina web seleccionat mitjançant Python Web Scraping' title= Nota El text de la notícia està present a la part de text de l'etiqueta d'àncora. Una observació propera ens dóna la idea que totes les notícies es troben a les etiquetes de llista de l'etiqueta no ordenada. Llegir el contingut de la pàgina web seleccionat mitjançant Python Web Scraping' title= Imprimeix el contingut adequat: The content is printed with the help of code given below. Python
    import requests from bs4 import BeautifulSoup def news(): # the target we want to open  url='http://www.hindustantimes.com/top-news' #open with GET method resp=requests.get(url) #http_respone 200 means OK status if resp.status_code==200: print('Successfully opened the web page') print('The news are as follow :-n') # we need a parserPython built-in HTML parser is enough . soup=BeautifulSoup(resp.text'html.parser') # l is the list which contains all the text i.e news  l=soup.find('ul'{'class':'searchNews'}) #now we want to print only the text part of the anchor. #find all the elements of a i.e anchor for i in l.findAll('a'): print(i.text) else: print('Error') news() 

    Sortida

    Successfully opened the web page The news are as follow :- Govt extends toll tax suspension use of old notes for utility bills extended till Nov 14 Modi Abe seal historic civil nuclear pact: What it means for India Rahul queues up at bank says it is to show solidarity with common man IS kills over 60 in Mosul victims dressed in orange and marked 'traitors' Rock On 2 review: Farhan Akhtar Arjun Rampal's band hasn't lost its magic Rumours of shortage in salt supply spark panic among consumers in UP Worrying truth: India ranks first in pneumonia diarrhoea deaths among kids To hell with romance here's why being single is the coolest way to be India vs England: Cheteshwar Pujara Murali Vijay make merry with tons in Rajkot Akshay-Bhumi SRK-Alia Ajay-Parineeti: Age difference doesn't matter anymore Currency ban: Only one-third have bank access; NE backward regions worst hit Nepal's central bank halts transactions with Rs 500 Rs 1000 Indian notes Political upheaval in Punjab after SC tells it to share Sutlej water Let's not kid ourselves with Trump what we have seen is what we will get Want to colour your hair? Try rose gold the hottest hair trend this winter 

Referències



Crea un qüestionari