Рубрики

Чтение выбранного содержимого веб-страницы с помощью Python Web Scraping

Обязательное условие: загрузка файлов в Python , очистка веб-страниц с помощью BeautifulSoup

Мы все знаем, что Python — очень простой язык программирования, но его отличает то, что для него написано множество библиотек с открытым исходным кодом. Requests — одна из наиболее широко используемых библиотек. Это позволяет нам открывать любой веб-сайт HTTP / HTTPS и позволяет делать любые вещи, которые мы обычно делаем в Интернете, а также может сохранять сеансы, например cookie.
Как все мы знаем, что веб-страница — это просто кусок HTML-кода, который отправляется веб-сервером в наш браузер, который, в свою очередь, превращается в красивую страницу. Теперь нам нужен механизм, чтобы получить доступ к исходному коду HTML, то есть найти некоторые конкретные теги с помощью пакета BeautifulSoup.
Установка:

pip3 install requests
pip3 install beautifulsoup4

Мы берем пример, читая новостной сайт Hindustan Times

Код можно разделить на три части.

  • Запрос веб-страницы
  • Осматривать метки
  • Распечатать соответствующее содержимое

шаги:

  1. Запрос веб-страницы: сначала мы видим правой кнопкой мыши на тексте новостей, чтобы увидеть исходный код
  2. Проверка тегов: нам нужно выяснить, в каком теле исходного кода содержится раздел новостей, который мы хотим удалить. Это нижний, т.е. неупорядоченный список, «searchNews», который содержит раздел новостей.

    Примечание Текст новости присутствует в текстовой части тега привязки. Внимательное наблюдение дает нам идею, что все новости находятся в тегах li, list, tag неупорядоченного тега.

  3. Распечатайте соответствующее содержимое: содержимое печатается с помощью приведенного ниже кода.

    import requests

    from bs4 import BeautifulSoup

      

    def news():

        # цель, которую мы хотим открыть

        url='http://www.hindustantimes.com/top-news'

          

        # открыть с помощью метода GET

        resp=requests.get(url)

          

        #http_respone 200 означает статус ОК

        if resp.status_code==200:

            print("Successfully opened the web page")

            print("The news are as follow :-\n")

          

            # нам нужен парсер, достаточно встроенного парсера HTML в Python.

            soup=BeautifulSoup(resp.text,'html.parser')    

      

            # l это список, который содержит весь текст, т.е. новости

            l=soup.find("ul",{"class":"searchNews"})

          

            # Теперь мы хотим печатать только текстовую часть якоря.

            # найти все элементы a, т.е. якорь

            for i in l.findAll("a"):

                print(i.text)

        else:

            print("Error")

              
    news()

    Выход

    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
    

Ссылки

Эта статья предоставлена Shubham Choudhary . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Чтение выбранного содержимого веб-страницы с помощью Python Web Scraping

0.00 (0%) 0 votes