Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как найти все ссылки на странице python?

  1. Как найти все ссылки на странице python?

    Всем привет! Короче, есть задача: найти все ссылки на странице python-ом. Хотел узнать, кто как это решает? Мож, кто-то подскажет простой и понятный способ, а то я только начинающий. И вообще интересно, какие инструменты использовать лучше - нужно что-то точное и не слишком сложное. Буду рад примерчикам кода и всяким полезным советам. Спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Есть простой способ с использованием BeautifulSoup и requests. Вот пример кода, который вытащит все ссылки:

    Программный код:
    import requests
    from bs4 import BeautifulSoup

    url 
    'http://example.com'
    response requests.get(url)

    soup BeautifulSoup(response.text'html.parser')
    links soup.find_all('a'href=True)

    for 
    link in links:
    print(
    link['href']) 
    Удачи!

  4. Цитата Сообщение от Павел Андреевич
    Привет! Есть простой способ с использованием BeautifulSoup и requests. Вот пример кода, который вытащит все ссылки:

    Программный код:
    import requests
    from bs4 import BeautifulSoup

    url 
    'http://example.com'
    response requests.get(url)

    soup BeautifulSoup(response.text'html.parser')
    links soup.find_all('a'href=True)

    for 
    link in links:
    print(
    link['href']) 
    Удачи!
    Воу, спасибо! Прям как надо, просто и понятно. Буду пробовать.

  5. Йо! Можно сделать то же самое с lxml. Плюс в том, что lxml быстрее работает с большими страницами. Вот код:

    Программный код:
    import requests
    from lxml import html

    url 
    'http://example.com'
    response requests.get(url)
    tree html.fromstring(response.content)

    links tree.xpath('//a/@href')

    for 
    link in links:
    print(
    link
    Попробуй!

  6. Цитата Сообщение от Debsot
    Йо! Можно сделать то же самое с lxml. Плюс в том, что lxml быстрее работает с большими страницами. Вот код:

    Программный код:
    import requests
    from lxml import html

    url 
    'http://example.com'
    response requests.get(url)
    tree html.fromstring(response.content)

    links tree.xpath('//a/@href')

    for 
    link in links:
    print(
    link
    Попробуй!
    Четко! Слышал про lxml, но не пробовал. Спасибо за идейку!

  7. Если честно, я тоже начинал с BeautifulSoup, но потом Adobe Dreamweaver начал рекомендовать использовать Selenium. Это чутка сложнее, зато можно более гибко работать со страницей, особенно если там JavaScript. Вот пример:

    Программный код:
    from selenium import webdriver

    driver 
    webdriver.Chrome()
    driver.get('http://example.com')

    links driver.find_elements_by_tag_name('a')

    for 
    link in links:
    print(
    link.get_attribute('href'))

    driver.quit() 
    Конечно, нужно установить драйвер для браузера, но если тебе надо что-то посерьезнее, это прям топовый варик.

  8. Цитата Сообщение от Ivan132
    Если честно, я тоже начинал с BeautifulSoup, но потом Adobe Dreamweaver начал рекомендовать использовать Selenium. Это чутка сложнее, зато можно более гибко работать со страницей, особенно если там JavaScript. Вот пример:

    Программный код:
    from selenium import webdriver

    driver 
    webdriver.Chrome()
    driver.get('http://example.com')

    links driver.find_elements_by_tag_name('a')

    for 
    link in links:
    print(
    link.get_attribute('href'))

    driver.quit() 
    Конечно, нужно установить драйвер для браузера, но если тебе надо что-то посерьезнее, это прям топовый варик.
    Да, Selenium мощный и гибкий инструмент. Но для простых задач, думаю, lxml или BeautifulSoup хватит.

  9. Чуваки, можно вообще без библиотек обойтись! Используй стандартную библиотеку urllib и парсер html.parser. Вот так:

    Программный код:
    from urllib.request import urlopen
    from html
    .parser import HTMLParser

    class MyHTMLParser(HTMLParser):
    def handle_starttag(selftagattrs):
    if 
    tag == 'a':
    for 
    attr in attrs:
    if 
    attr[0] == 'href':
    print(
    attr[1])

    url 'http://example.com'
    response urlopen(url)
    html response.read().decode()

    parser MyHTMLParser()
    parser.feed(html
    Конечно, это не топ для всяких сложных сайтов, но зато стандартными средствами!

  10. Цитата Сообщение от Геккельберри
    Чуваки, можно вообще без библиотек обойтись! Используй стандартную библиотеку urllib и парсер html.parser. Вот так:

    Программный код:
    from urllib.request import urlopen
    from html
    .parser import HTMLParser

    class MyHTMLParser(HTMLParser):
    def handle_starttag(selftagattrs):
    if 
    tag == 'a':
    for 
    attr in attrs:
    if 
    attr[0] == 'href':
    print(
    attr[1])

    url 'http://example.com'
    response urlopen(url)
    html response.read().decode()

    parser MyHTMLParser()
    parser.feed(html
    Конечно, это не топ для всяких сложных сайтов, но зато стандартными средствами!
    Ого, спасибо за пример с чистым python! Для мелких задач может и пригодится.

Страница 1 из 2 12 ПоследняяПоследняя