Найти в Дзене
Стёпчик volt

Парсер ссылок на python| уроки python|часть 2

Оглавление

Начало

Итак, каждого верстальщика сайтов интересовало просмотреть все ссылки на чужом сайте, и узнать их общее количество? Мне захотелось. Этим мы и займёмся.

Красиво?
Красиво?

Подготовка

Все действия я буду проводить в linux терминале "термукс", но это не важно, ибо все команды одинаковые во всех линуксах(или почти всех).

Итак, для начала надо обновиться командами:

apt update 
apt upgrade

Обновились. Теперь установим питон:

apt install python

Главные компоненты установлены. Осталось добавить пару библиотек. Установка BeautifulSoup:

pip install bs4

Установка request:

pip install request

bs4 - библиотека для создания парсеров, содержащая все необходимые методы и классы.

request - для http запросов и т.д.

Кодинг

Теперь приступим к написанию программного кода, или проще говоря кодингу. Вот наш код:

import requests
from bs4 import BeautifulSoup
headers = requests.utils.default_headers()headers.update({ 'UserAgent':'Mozilla/5.0(X11;Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'})
i=0
url = input("Введите адрес:")
print(url)
req = requests.get(url, headers)<br>
soup = BeautifulSoup(req.content, 'html.parser')
variable = soup.find_all('a')
for ssalka in variable:
     i+=1
   print(ssalka.get('href'))
print(str(i)+"кол-во ссылок")

Этот код вы можете невникая скопировать и вставить, но лучше дочитать до конца. Итак, для кодинга надо ведь в чём-то кодить? Для этого устанавливаем совершенно любой консольный редактор для терминала, в моём случае - nano. Установка:

 apt install nano

Вы можете использовать vim и т.д., только вместо nano надо название вашего редактора, или устанавливать через репозитории с GitHub.

Установили! Теперь переходим к созданию файла. Вводим:

nano название_файла.py

Нано создаст файл с вашим названием, или откроет, если он есть. И теперь копи-пастим мой код, нажимаем ctrl+x, нас что-то спрашивают, мы согласны (нажимаем y), enter, и всё - файл готов, переходим к разбору кода.

Первые две строчки - импорт всех нужных нам библиотек, затем в переменную headers мы засовываем заголовки(это грубо говоря фейковый или образ браузера, так сказать иллюзия для сайта, в нашем случае у нас мозила, ос - ubuntu и т.д), дальше мы создаём переменную i равную нулю, переменную url равную введённой строке, то бишь адресу сайта, выводим этот url адрес, создаём req равную исходному коду сайта, переменную soup и записываем в неё наш объект-парсер с аргументами в виде исходного кода и типа парсера, переменную variable равную всем нашим ссылкам на сайте, в цикле for мы записываем в ssalka по очереди кажду ссылку, выводя её адрес, удаляя её оттуда, заменяя следующей. Так, вроде всё. Ан нет. В каждом цикле цикла мы прибавляем к i один, а после завершения цикла мы выводим i - кол-во ссылок.

Заключение

Мне понравилось работать с BeautifulSoup, linux терминалом. Так то я пользователь винды, и мне сначало было непривычно, так как в ней не надо возиться с командной строкой, там и так всё норм. Я получил уйму полезных знаний(создать каталог, удалить каталог…), ну и позитивные эмоции(если тоже понравилось, то пожалуйста подпишись на этот канал, я там выкладываю интересные видео уроки).Желаю всем удачи, всем пока)...