Web scraping articole stiri

Salut,

Am nevoie de niste pareri in gasirea unei solutii. Trebuie sa creez un program care va accesa o lista de linkuri, iar linkurile sunt catre articole de presa. Problema pe care o vad o reprezinta lipsa de consistenta in structura HMTL a articolelor, astfel ca un articol de pe siteul A il voi putea target-ui cu article > div > .article-body, iar pe site-ul B gasesc cu textul articolului cu .news > body > div.
M-am uitat un pic la Selenium si la Python (are o librarie ‘beautifulsoup’), insa ambele solutii se bazeaza pe target-uirea asta specifica pt fiecare articol/site.

Asadar, daca aveti vreo idee despre cum as putea scoate textul articolului fara a pune conditii pt target pt fiecare site…e binevenita.

Multumesc

faci reguli pt fiecare site in parte.

Poti folosi Trafilatura, care a fost facut chiar pentru aceasta: sa extraga date din HTML. Iti ofera si metadate precum date published, authors, etc., dar iti returneaza si “main content”. Nu functioneaza perfect, uneori rateaza niste chestii, uneori include niste reclame, dar e destul de bun.

2 Likes

https://scrapy.org/

Articolele de știri le targetezi trivial fiindcă au și SEO în mod ideal. Adică se folosesc de elemente semantice. Nu e greu să îți dai seama că dacă Google le indexează poți fura algoritmul de la Google.

Acum multe au paywall sau reclame, aici e mai complicat.

Sigur există și ceva AI sa îți caute selectorii pentru conținut.

Cauta un scraping awesome pe github.

Eu am lucrat de curand cu https://cheerio.js.org/

sau node-readability - npm
care e inspirat din ce era chrome reader mode

edit: o postare de pe stackoverflow recomanda GitHub - mozilla/readability: A standalone version of the readability lib

2 Likes