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

Тема: Как создать scrapers scraper python для парсинга данных?"

  1. Как создать scrapers scraper python для парсинга данных?"

    "Привет, ребзя! Пытаюсь разобраться с темой парсинга данных, хочу создать несколько scrapers на Python, но чёт упёрся в стену. У меня есть базовые знания по Python и слабенький опыт с Beautiful Soup и Scrapy, но, кажется, мне не хватает какого-то общего представления о том, как всё это должно работать вместе. Нужно ли использовать сразу несколько библиотек для разных сайтов или лучше держаться одной, есть ли какие-то подсказки по оптимальным настройкам или может примеры кода? Плюс, что вообще важно учитывать, чтобы избежать бана и всё такое? Короче, помогите плз, как совместить всё это добро в одного годного scraper-а?”



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

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

  3. Привет! Вот примерчик использования BeautifulSoup и requests для создания простого скрапера:
    Программный код:
    import requests

    from bs4 import BeautifulSoup


    url 
    'https://example.com'

    response requests.get(url)

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


    # Пример скрапинга заголовков
    titles soup.find_all('h2')

    for 
    title in titles:

        print(
    title.text
    Но чтобы не попасть в бан, следуй таким правилам:
    1. Ставь User-Agent в заголовки запроса (чтоб сервер думал, что ты браузер).
    2. Держи частоту запросов низкой – используй time.sleep().
    3. Старайся не скрапить слишком часто один и тот же сайт.

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

    from bs4 import BeautifulSoup


    url 
    'https://example.com'

    response requests.get(url)

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


    # Пример скрапинга заголовков
    titles soup.find_all('h2')

    for 
    title in titles:

        print(
    title.text
    Но чтобы не попасть в бан, следуй таким правилам:
    1. Ставь User-Agent в заголовки запроса (чтоб сервер думал, что ты браузер).
    2. Держи частоту запросов низкой – используй time.sleep().
    3. Старайся не скрапить слишком часто один и тот же сайт.
    Крутой пример! Насчёт User-Agent – согласен, не забывай выдавать себя за браузер, а то быстро палят. Ещё бы добавить обработку ошибок, а то если сайт ляжет, твой скрапер крашнется.

  5. Я бы предложил взглянуть на библиотеку Scrapy. Для сложного скрапинга она лучше подходит из-за встроенных функций. Здесь конфигурирование займёт больше времени, но результат того стоит.

    Пример использования Scrapy:
    Программный код:
    import scrapy


    class ExampleSpider(scrapy.Spider):

        
    name 'example'

        
    start_urls = ['https://example.com']

      
        
    def parse(selfresponse):

            for 
    title in response.css('h2'):

                yield {
    'title'title.css('::text').get()} 
    Scrapy уже имеет механизмы для избегания банов, но всегда следите за своими интервалами запросов.

  6. Цитата Сообщение от Гигант
    Я бы предложил взглянуть на библиотеку Scrapy. Для сложного скрапинга она лучше подходит из-за встроенных функций. Здесь конфигурирование займёт больше времени, но результат того стоит.

    Пример использования Scrapy:
    Программный код:
    import scrapy


    class ExampleSpider(scrapy.Spider):

        
    name 'example'

        
    start_urls = ['https://example.com']

      
        
    def parse(selfresponse):

            for 
    title in response.css('h2'):

                yield {
    'title'title.css('::text').get()} 
    Scrapy уже имеет механизмы для избегания банов, но всегда следите за своими интервалами запросов.
    Scrapy – это сила! Но согласен, настраивать его долго и муторно. Еще есть какие-то штуки для параллельных запросов в Scrapy, типа не будет проблема с user-agent?

  7. Если надо быстро – попробуй парсер с облачным API, напрмер, ScraperAPI. Не придётся рыться в настройках и продумывать всю антибанщину.

    Быстрый пример с ScraperAPI:

    Программный код:
    import requests
      
    url 
    'https://api.scraperapi.com?api_key=YOUR_KEY&url=https://example.com'
    response requests.get(url)
    print(
    response.text
    Минус – не так гибко, зато легко и без заморочек.

  8. Цитата Сообщение от ViktorWarrior
    Если надо быстро – попробуй парсер с облачным API, напрмер, ScraperAPI. Не придётся рыться в настройках и продумывать всю антибанщину.

    Быстрый пример с ScraperAPI:

    Программный код:
    import requests
      
    url 
    'https://api.scraperapi.com?api_key=YOUR_KEY&url=https://example.com'
    response requests.get(url)
    print(
    response.text
    Минус – не так гибко, зато легко и без заморочек.
    Да, для лайтовых задач – норм вариант. Но типа если надо что-то сложнее, вряд ли хватит гибкости.

  9. Если у тебя разные сайты, лучше юзать одну мощную библиотеку и доводить её до ума под каждый сайт. И да, просто нагугли «добавление пуза», чтобы не делать тысячи запросов разом. И кешировать подумают ли? Я обычно через Redis, чтоб точно всё в порядке.

  10. Цитата Сообщение от Чулпан
    Если у тебя разные сайты, лучше юзать одну мощную библиотеку и доводить её до ума под каждый сайт. И да, просто нагугли «добавление пуза», чтобы не делать тысячи запросов разом. И кешировать подумают ли? Я обычно через Redis, чтоб точно всё в порядке.
    Redis тема, у меня балы уже хранят! Для пуза есть хоть стандартные пакеты или сам пишешь? Скинь взрыв над ошибками че-то делаешь!

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