logo

Odczytywanie wybranej zawartości strony internetowej za pomocą Python Web Scraping

Warunek wstępny: Pobieranie plików w Pythonie Skrobanie sieci za pomocą BeautifulSoup Wszyscy wiemy, że Python jest bardzo łatwym językiem programowania, ale to, co czyni go fajnym, to ogromna liczba napisanych dla niego bibliotek open source. Requests jest jedną z najczęściej używanych bibliotek. Pozwala nam otwierać dowolną witrynę HTTP/HTTPS i wykonywać dowolne czynności, które zwykle wykonujemy w Internecie, a także może zapisywać sesje, tj. pliki cookie. Jak wszyscy wiemy, strona internetowa to po prostu fragment kodu HTML wysyłany przez serwer sieciowy do naszej przeglądarki, która z kolei przekształca się w piękną stronę. Teraz potrzebujemy mechanizmu umożliwiającego przechwycenie kodu źródłowego HTML, czyli znalezienie określonych tagów za pomocą pakietu o nazwie BeautifulSoup. Instalacja:
pip3 install requests 
pip3 install beautifulsoup4 

Bierzemy przykład, czytając witrynę z wiadomościami Czasy Hindustanu

Kod można podzielić na trzy części.
  • Żądanie strony internetowej
  • Sprawdzanie tagów
  • Wydrukuj odpowiednią treść
Kroki:
    Żądanie strony internetowej:Najpierw widzimy, że kliknij prawym przyciskiem myszy tekst wiadomości, aby zobaczyć kod źródłowy Odczytywanie wybranej zawartości strony internetowej za pomocą Python Web Scraping' title= Sprawdzanie tagów:Musimy ustalić, w której części kodu źródłowego znajduje się sekcja aktualności, którą chcemy usunąć. Jest to nieuporządkowana lista „searchNews” znajdująca się pod uli.e, która zawiera sekcję aktualności. Odczytywanie wybranej zawartości strony internetowej za pomocą Python Web Scraping' title= Uwaga Tekst wiadomości znajduje się w części tekstowej znacznika zakotwiczenia. Dokładna obserwacja daje nam pogląd, że wszystkie wiadomości znajdują się na liście znaczników nieuporządkowanego znacznika. Odczytywanie wybranej zawartości strony internetowej za pomocą Python Web Scraping' title= Wydrukuj odpowiednią treść: 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() 

    Wyjście

    tablica ciągów programu c
    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 

Referencje



Utwórz quiz