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

Тема: Как написать программу парсер на python?

  1. Как написать программу парсер на python?

    Привет, народ! Я тут занялся изучением пайтона и мне просто горит желание сделать небольшую программу парсер на python. Хочу вытащить данные с одного сайта, но понятное дело, что копипаста - это не наш метод. Кто шарит, расскажите, какие библиотеки использовать, какой код писать? Реально жду помощи, а то гугл выдает супер общие ответы. Может и примеры кодов какие подходят подсказать? Ах, да! Чтобы все было по Beauty Code стандарту, окей?



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

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

  3. Привет! Если ты только начинаешь, то посоветовал бы библиотеку BeautifulSoup. Она очень интуитивная и легко учится. Вот тебе примерчик:

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

    url 
    'http://example.com'
    response requests.get(url)
    soup BeautifulSoup(response.text'html.parser')

    for 
    link in soup.find_all('a'):
    print(
    link.get('href')) 
    Это базовый скрипт, который выдергивает все ссылки с сайта.

  4. Цитата Сообщение от AnnaNikolaevns
    Привет! Если ты только начинаешь, то посоветовал бы библиотеку BeautifulSoup. Она очень интуитивная и легко учится. Вот тебе примерчик:

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

    url 
    'http://example.com'
    response requests.get(url)
    soup BeautifulSoup(response.text'html.parser')

    for 
    link in soup.find_all('a'):
    print(
    link.get('href')) 
    Это базовый скрипт, который выдергивает все ссылки с сайта.
    От души за пример! Четко доходчиво. Но строк кода маловато, давай больше мяса!

  5. Еще можно использовать библиотеку Scrapy, она мощнее и гибче, если у тебя большие объемы данных и серьезные планы на парсинг. Вот как базово ее запустить:

    Программный код:
    import scrapy

    class MySpider(scrapy.Spider):
    name 'my_spider'
    start_urls = ['http://example.com']

    def parse(selfresponse):
    for 
    href in response.css('a::attr(href)'):
    yield {
    'URL'href.get()} 
    Просто инсталлишь ее командой pip install scrapy и готово! Ракета просто.

  6. Цитата Сообщение от Shatterstar
    Еще можно использовать библиотеку Scrapy, она мощнее и гибче, если у тебя большие объемы данных и серьезные планы на парсинг. Вот как базово ее запустить:

    Программный код:
    import scrapy

    class MySpider(scrapy.Spider):
    name 'my_spider'
    start_urls = ['http://example.com']

    def parse(selfresponse):
    for 
    href in response.css('a::attr(href)'):
    yield {
    'URL'href.get()} 
    Просто инсталлишь ее командой pip install scrapy и готово! Ракета просто.
    Эх, Scrapy это уже для знатоков. Но выглядит интересно, надо будет погуглить, как глубже изучить. Респект!

  7. Если вдруг нужно что-то на регулярках делать, то модуль re тоже заходит. Но по факту, BeautifulSoup и Scrapy на все случаи жизни. Важно не забыть про обработку исключений, чтобы скрипт не падал на половине работы. Вот еще пример с обработкой ошибок:

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

    url 
    'http://example.com'

    try:
    response requests.get(url)
    response.raise_for_status()
    except requests.exceptions.RequestException as e:
    print(
    f'Ошибка получения URL: {e}')
    exit()

    soup BeautifulSoup(response.text'html.parser')

    for 
    link in soup.find_all('a'):
    print(
    link.get('href')) 

  8. Цитата Сообщение от LeoRanger
    Если вдруг нужно что-то на регулярках делать, то модуль re тоже заходит. Но по факту, BeautifulSoup и Scrapy на все случаи жизни. Важно не забыть про обработку исключений, чтобы скрипт не падал на половине работы. Вот еще пример с обработкой ошибок:

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

    url 
    'http://example.com'

    try:
    response requests.get(url)
    response.raise_for_status()
    except requests.exceptions.RequestException as e:
    print(
    f'Ошибка получения URL: {e}')
    exit()

    soup BeautifulSoup(response.text'html.parser')

    for 
    link in soup.find_all('a'):
    print(
    link.get('href')) 
    По-умному написал пример. Ошибки - штука такая, мало кто сразу учитывает. Красава!

  9. Есть еще opt вариант, если нужно, чтобы парсер ходил за страницы аутентификации. Панду подключить, вместе с requests красивым получается. Пример кодика:

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

    url 
    'http://example.com'
    payload = {'username''имя_пользователя''password''пароль'}
    with requests.Session() as s:
    s.post('http://example.com/login'data=payload)
    response s.get(url)
    soup BeautifulSoup(response.text'html.parser')

    data = []
    for 
    link in soup.find_all('a'):
    data.append(link.get('href'))

    df pd.DataFrame(datacolumns=['URLs'])
    df.to_csv('output.csv'index=False
    Получишь на выходе csv-шку с ссылками. Удачи!

  10. Цитата Сообщение от Loki
    Есть еще opt вариант, если нужно, чтобы парсер ходил за страницы аутентификации. Панду подключить, вместе с requests красивым получается. Пример кодика:

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

    url 
    'http://example.com'
    payload = {'username''имя_пользователя''password''пароль'}
    with requests.Session() as s:
    s.post('http://example.com/login'data=payload)
    response s.get(url)
    soup BeautifulSoup(response.text'html.parser')

    data = []
    for 
    link in soup.find_all('a'):
    data.append(link.get('href'))

    df pd.DataFrame(datacolumns=['URLs'])
    df.to_csv('output.csv'index=False
    Получишь на выходе csv-шку с ссылками. Удачи!
    Чувак, крутой варик! С Пандой и сессиями, сразу на профи тянет. Так держать!

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