Python 3 веб-возможности - PullRequest
       6

Python 3 веб-возможности

5 голосов
/ 11 августа 2011

Я новичок в Python, поэтому извините, если это вопрос новичка.

Я пытаюсь создать программу, включающую веб-скрейпинг, и заметил, что в Python 3, по-видимому, значительно меньше модулей веб-скребинга, чем в серии Python 2.x.

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

Мне интересно, есть ли у кого-нибудь на этом форуме хороший вариант для создания веб-страниц с использованием python 3.

Любые предложения будут с благодарностью.

Спасибо, Будет

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

lxml.html работает на Python 3 и, по крайней мере, дает вам html-разбор.

BeautifulSoup 4, который находится в разработке, должен поддерживать Python 3 (я уже поработал над этим).

0 голосов
/ 09 апреля 2018

Я вроде как новичок, но я нашел BeautifulSoup 4 действительно хорошим, и я изучаю его и использую его с модулями requests и lxml.Модуль запросов предназначен для получения URL и lxml (также вы можете использовать встроенный html.parser для анализа, но, наверное, lxml быстрее) для анализа.

Простое использование:

import requests
from bs4 import BeautifulSoup

url = 'someUrl'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'lxml')

Непростой пример того, как получить href из html:

links = set()
for link in soup.find_all('a'):
    if 'href' in link.attrs:
        links.add(link)

Тогда вы получите set с уникальными ссылкамииз вашего URL.

Другой пример, как вы можете анализировать определенные части HTML, например, если вы хотите проанализировать все <p> теги, которые имеют класс testClass:

list_of_p = []
for p in soup.find_all('p', {'class': 'testClass'}):
    for item in p:
        list_of_p.append(item)

и многое другое вы можете сделать с ним так просто, как кажется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...