Можете ли вы угадать простой способ получения данных с веб-страницы? Это происходит с помощью техники, называемой соскабливанием паутины. Если вы не знакомы с веб-скребком, вот объяснение: “Веб-скребок-это программный метод извлечения информации с веб-сайтов” “Веб-скребок фокусируется на преобразовании неструктурированных данных в Интернете, обычно в формате HTML, в структурированные данные, которые могут храниться и анализироваться в центральной локальной базе данных или электронной таблице.” Некоторые веб-страницы облегчают вашу жизнь, они предлагают нечто, называемое API, они предлагают интерфейс, который вы можете использовать для загрузки данных. Такие сайты, как Rotten tomatoes и Twitter, предоставляют API для доступа к данным. Но если веб-страница не предоставляет API, вы можете использовать Python для очистки данных с этой веб-страницы.
Я буду использовать два модуля Python для очистки данных.
- Urllib
- Beautifulsoup
Итак, вы готовы очистить веб-страницу? Все, что вам нужно сделать, чтобы начать, – это выполнить следующие действия:
Понимание основ HTML Скальпинг-это все о html-тегах. Поэтому вам нужно понять html, чтобы очистить данные. Это пример минимальной веб-страницы, определенной в тегах HTML. Корневой тег – , а затем у вас есть тег . Страница включает в себя заголовок страницы, а также может содержать другую метаинформацию, например ключевые слова. Тег включает в себя фактическое содержимое страницы. , , , , и – это разные уровни заголовка. Я рекомендую вам изучить веб-страницу и просмотреть ее исходный код, чтобы лучше понять html.
Очистка Веб – Страницы С Помощью Красивого Супа
Я буду соскребать данные с bigdataexaminer.com. Я импортирую urllib2, beautifulsoup(bs4), Pandas и Numpy.
То, что делает.urlopen(url).read (), это bigdataexaminer.com и получает весь html-текст. Затем я сохраняю его в переменной под названием beautiful.
Теперь мне нужно разобрать и очистить HTML-код. BeautifulSoup-это действительно полезный модуль Python для анализа HTML и XML-файлов. Красивый суп дает красивый объект Супа, который представляет документ в виде вложенной структуры данных.
Приукрасить
Вы можете использовать функцию prettify() для отображения различных уровней HTML-кода. Самый простой способ навигации по дереву синтаксического анализа-произнести имя нужного тега. Если вам нужен тег , просто скажите soup.h1.prettify():
Содержание
soup.tag.contents вернет содержимое тега в виде списка. В[18]: soup.head.contents Следующая функция вернет заголовок, присутствующий внутри тега head. In[45]:.head.title Out [45]: .string вернет строку, присутствующую внутри тега title эксперта по большим данным. Как большой dataexaminer.com не имеет заголовка, возвращаемое значение равно None.
Потомки Потомки позволяют рекурсивно перебирать все дочерние теги. Вы также можете посмотреть на строки с помощью генератора .strings В[56]: soup.get_text() извлекает весь текст из больших данных examiner.com
FindALL
Вы можете использовать Find_all (), чтобы найти все теги “a” на странице. Чтобы получить первые четыре тега “a”, вы можете использовать атрибут limit. Чтобы найти определенный текст на веб-странице, вы можете использовать атрибут text вместе с find All. Здесь я ищу термин “данные” на экзаменаторе больших данных.
Дайте мне атрибут второго тега “а” на экзаменаторе больших данных. Вы также можете использовать понимание списка, чтобы получить атрибуты первых 4 тегов a в big data examiner.
Вывод
Специалист по обработке данных должен знать, как очищать данные с веб-сайтов, и я надеюсь, что вы нашли эту статью полезной в качестве введения в веб-очистку с помощью Python. Помимо красивого супа есть еще одна полезная библиотека python под названием pattern для веб-скребка. Я также нашел хороший учебник по веб-очистке с использованием Python.
Вместо того, чтобы идти по сложному пути веб-скребка, используя внутреннюю настройку, созданную вами с нуля, вы всегда можете смело доверять службе веб-скребка PromtCloud, чтобы взять на себя полную ответственность за ваш проект.
Веб-скребок-это не только “кодирование” как таковое, вы должны быть искусны в кодировании, интернет-протоколах, хранении баз данных, запросе на обслуживание, очистке кода, преобразовании неструктурированных данных в структурированные данные и даже некотором машинном обучении в наши дни.