1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2200+ и мы растем!
    Скрыть объявление

Как спарсить статьи с заданного списка сайтов 1.0

Парсинг статей с заданного списка сайтов

  1. katim

    katim A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 апр 2014
    Сообщения:
    2
    Симпатии:
    0
    Всем привет!

    Думаю у многих возникал вопрос как напарсить статьи с сайтов.

    Лучше что придумал на данный момент это парсить список урлов (думаю тут ни у кого не возникает проблем) а потом парсером HTML::TextExtractor вытягивать контент.

    Но, есть ньюансы - как заставить вытягивать только статью без другого контента который идет на странице, и как сохранять каждую статью с целевого сайта в отдельный файл?

    Сайты со статьями для примера:
    http://www.personal-loan.my/al-rajhi-personal-loan/236/
    http://www.auctioncope.com/guide/how-to-remove-paypal-limitation-and-restore-account-access/
    http://www.acaloans.com.au/personal-finance/
     
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    [​IMG]
    Как вариант, проверять размер текста и отсеивать маленькие. В примере я задал размер > 1000 символов. Это не гарантирует, что будут найдены все именно статьи, но все же отсеивает много ненужного.
    Относительно сохранения, то в примере результат сохраняется в файл с именем домена и датой.
    Код:
    eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
    InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
    cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFsdWUiOiJbJSBG
    T1JFQUNIIHRleHQgSU4gdGV4dHMgJV1cblslIHRleHRzLiR7bG9vcC5pbmRleH0u
    dGV4dC5sZW5ndGggPiAxMDAwID8gdGV4dHMuJHtsb29wLmluZGV4fS50ZXh0IDog
    JycgLSVdXG5bJSBFTkQgJV0ifV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNl
    dCIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoicG9z
    LyRxdWVyeS5kb21haW4tJGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0aW9u
    YWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQi
    OlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVl
    cmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6ZmFs
    c2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZX0sInJlc3VsdHNP
    cHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVu
    aXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6
    IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbeyJzb3VyY2Ui
    OiJxdWVyeSIsInR5cGUiOiJleHRyYWN0RG9tYWluIiwidG8iOiJkb21haW4ifV0s
    InJlc3VsdHNCdWlsZGVycyI6W3sic291cmNlIjpbMCxbInRleHRzIiwidGV4dCJd
    XSwidHlwZSI6InJlbW92ZUh0bWwiLCJhcnJheSI6InRleHRzIiwidG8iOiJ0ZXh0
    In1dLCJjb25maWdPdmVycmlkZXMiOltdfX0=
     
    murl, romanov, Rafa и 3 другим нравится это.
  3. katim

    katim A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 апр 2014
    Сообщения:
    2
    Симпатии:
    0
    Спасибо, вроде работает хорошо - буду тестировать. Спасибо
     
  4. element.4seo

    element.4seo New Member

    Регистрация:
    28 мар 2015
    Сообщения:
    13
    Симпатии:
    1
    подскажите пжл, как тут добавить перенос, после точки новая строка, пробовал http://take.ms/MbeXT и возможные вариации, не помогло (
     
  5. element.4seo

    element.4seo New Member

    Регистрация:
    28 мар 2015
    Сообщения:
    13
    Симпатии:
    1
    так же пробовал спарсить тут морду - http://xnspy.com/, получился пустой файл
     
  6. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    На данный момент такой возможности нету: http://a-parser.com/threads/1804/
    Проанализируйте сайт. На первый взгляд, там JS подгружает инфу...
     
  7. element.4seo

    element.4seo New Member

    Регистрация:
    28 мар 2015
    Сообщения:
    13
    Симпатии:
    1
    а какие еще есть варианты спарсить текст и разбить на строки?
     
  8. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    Разбивать вручную в текстовом редакторе.
     
  9. element.4seo

    element.4seo New Member

    Регистрация:
    28 мар 2015
    Сообщения:
    13
    Симпатии:
    1
    спасибо )
     
  10. aliasfox

    aliasfox A-Parser Pro License
    A-Parser Pro

    Регистрация:
    17 окт 2015
    Сообщения:
    10
    Симпатии:
    6
    Пресет работает отлично, но в сохраняемом файле остается много пустых строк, подскажите пож. как их удалить?
     
  11. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    Измените немного формат результата:
    Код:
    [% FOREACH text IN texts;
        texts.${loop.index}.text.length > 1000 ? texts.${loop.index}.text _ "\n" : '';
    END %]
     
    murl, StreamK и aliasfox нравится это.
  12. creck

    creck A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    18 апр 2014
    Сообщения:
    46
    Симпатии:
    7
    Как записывать результат, который больше 1000 символов?
     
  13. Support Денис

    Support Денис A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    12 июн 2017
    Сообщения:
    586
    Симпатии:
    182
    Здравствуйте
    Вот вариант где пишется результат, который больше 1000 символов
     
  14. creck

    creck A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    18 апр 2014
    Сообщения:
    46
    Симпатии:
    7
    Скажите пожалуйста, а как сделать тоже самое, только что бы брало с тегами?
     
  15. Support Ilia

    Support Ilia Moderator
    Команда форума A-Parser Enterprise

    Регистрация:
    6 апр 2020
    Сообщения:
    131
    Симпатии:
    26
    Парсер HTML::TextExtractor автоматически чистит HTML теги
     
  16. creck

    creck A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    18 апр 2014
    Сообщения:
    46
    Симпатии:
    7
    А каким парсером можно сделать подобное, но что бы остались теги?
     
  17. Support Ilia

    Support Ilia Moderator
    Команда форума A-Parser Enterprise

    Регистрация:
    6 апр 2020
    Сообщения:
    131
    Симпатии:
    26
    Смысл HTML::TextExtractor чтобы текст собирать. Если нужны и теги, то это другой парсер совсем нужно делать
     
  18. Support Ilia

    Support Ilia Moderator
    Команда форума A-Parser Enterprise

    Регистрация:
    6 апр 2020
    Сообщения:
    131
    Симпатии:
    26
    Вы можете использовать Net::HTTP + регулярки, например как получить все что в тегах <p>:
    [​IMG]
     
  19. binbash

    binbash A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    19 май 2016
    Сообщения:
    22
    Симпатии:
    2
    А какой алгоритм у ТекстЭктрактора? Это какая-то регулярка, которая вытягивает текст, а потом чистит хтмл? Или вначале режется хтмл, а потом собираются куски длинной больше Х символов?

    Возникла необходимость собирать статьи по урлам с разных сайтов, так вот а-парсер справляется весьма неплохо, собирает почти без мусора, но режет весь хтмл, а мне нужно чтобы картинки, заголовки и видео оставалось в контенте. Можно ли как-то использовать алгоритм сбора из текст-экстрактора? Но не фиьлтровать определеные HTML теги в тексте?
     
  20. Support Ilia

    Support Ilia Moderator
    Команда форума A-Parser Enterprise

    Регистрация:
    6 апр 2020
    Сообщения:
    131
    Симпатии:
    26
    Там сложный алгоритм, и я не могу его рассказать. Алгоритм сбора из текст-экстрактора нельзя использовать, для вашей задачи нужно писать отдельный парсер который будет работать по нужной вам логике
     

Поделиться этой страницей