Files
TextNLPClassifierApp/graphify-out/cache/ast/v0.9.47-s2/d7910bb4af069cb278dbc72d59247455b938efb3fca877b0464b47bd08c2c5b2.json
T
andreferraro 6e3d57619b feat(extractor): add Google News headlines extractor with Foxcape headless and URL resolution
- Add standalone CLI script scripts/extract_google_news.py for Google News RSS scraping
- Integrate foxcape in headless mode as primary stealth anti-bot engine
- Implement parallel article URL resolution using googlenewsdecoder and ThreadPoolExecutor
- Support language and regional locale mapping (-l, --lang, --locale)
- Implement real-time progress logging in stderr and --silent flag
- Add unit, integration, and live E2E tests in tests/test_extract_google_news.py
- Add full SpecKit documentation (specs/002-google-news-extractor/)
- Create comprehensive README.md covering both NLP Classifier and Google News Extractor
2026-08-20 11:50:16 -03:00

1 line
9.0 KiB
JSON

{"nodes": [{"id": "$graphify-root$_specs_002_google_news_extractor_spec_md", "label": "spec.md", "file_type": "document", "node_kind": "page", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L1"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "label": "Feature Specification: Google News Headlines Extractor", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L1"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_clarifications", "label": "Clarifications", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L11"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_session_2026_08_20", "label": "Session 2026-08-20", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L13"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_user_scenarios_testing_mandatory", "label": "User Scenarios & Testing *(mandatory)*", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L17"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_user_story_1_extra\u00e7\u00e3o_b\u00e1sica_de_not\u00edcias_por_assunto_e_idioma_priority_p1", "label": "User Story 1 - Extra\u00e7\u00e3o B\u00e1sica de Not\u00edcias por Assunto e Idioma (Priority: P1)", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L19"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_user_story_2_filtragem_regional_e_edi\u00e7\u00e3o_geogr\u00e1fica_priority_p2", "label": "User Story 2 - Filtragem Regional e Edi\u00e7\u00e3o Geogr\u00e1fica (Priority: P2)", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L34"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_user_story_3_pagina\u00e7\u00e3o_e_controle_de_volume_de_resultados_priority_p3", "label": "User Story 3 - Pagina\u00e7\u00e3o e Controle de Volume de Resultados (Priority: P3)", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L49"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_edge_cases", "label": "Edge Cases", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L64"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_requirements_mandatory", "label": "Requirements *(mandatory)*", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L74"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_functional_requirements", "label": "Functional Requirements", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L76"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_key_entities", "label": "Key Entities", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L89"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_success_criteria_mandatory", "label": "Success Criteria *(mandatory)*", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L97"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_measurable_outcomes", "label": "Measurable Outcomes", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L99"}, {"id": "$graphify-root$_specs_002_google_news_extractor_spec_assumptions", "label": "Assumptions", "file_type": "document", "node_kind": "heading", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L109"}], "edges": [{"source": "$graphify-root$_specs_002_google_news_extractor_spec_md", "target": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "target": "$graphify-root$_specs_002_google_news_extractor_spec_clarifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_clarifications", "target": "$graphify-root$_specs_002_google_news_extractor_spec_session_2026_08_20", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "target": "$graphify-root$_specs_002_google_news_extractor_spec_user_scenarios_testing_mandatory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_user_scenarios_testing_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_user_story_1_extra\u00e7\u00e3o_b\u00e1sica_de_not\u00edcias_por_assunto_e_idioma_priority_p1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_user_scenarios_testing_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_user_story_2_filtragem_regional_e_edi\u00e7\u00e3o_geogr\u00e1fica_priority_p2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_user_scenarios_testing_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_user_story_3_pagina\u00e7\u00e3o_e_controle_de_volume_de_resultados_priority_p3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_user_scenarios_testing_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_edge_cases", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "target": "$graphify-root$_specs_002_google_news_extractor_spec_requirements_mandatory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_requirements_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_functional_requirements", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_requirements_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_key_entities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "target": "$graphify-root$_specs_002_google_news_extractor_spec_success_criteria_mandatory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_success_criteria_mandatory", "target": "$graphify-root$_specs_002_google_news_extractor_spec_measurable_outcomes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_specs_002_google_news_extractor_spec_feature_specification_google_news_headlines_extractor", "target": "$graphify-root$_specs_002_google_news_extractor_spec_assumptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/002-google-news-extractor/spec.md", "source_location": "L109", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}