NewsCrawler with multiproc/threads
Forked from lumyjuwon/KoreaNewsCrawler
lumyjuwonλμ KoreaNewsCrawlerλ₯Ό μ°Έκ³ νμ¬ λ©ν°μ°λ λ/νλ‘μΈμ€λ₯Ό λ νμ©ν μ μλ ν¬λ‘€λ¬λ₯Ό λ§λ€μμ΅λλ€.
λ€μ΄λ² κΈ°μ¬ ννκ° λ³νλμ΄, μ’ λ ν¨μ¨μ μΌλ‘ ν¬λ‘€λ§ν μ μλλ‘ html parserλ₯Ό μμ νμ΅λλ€.
Method
- getTitles(category, startyear, startmonth, startday = -1, process_size, getter_threads)
μ΄ λ©μλλ κΈ°μ¬μ μ λͺ©μ ν¬λ‘€λ§νλ λ©μλμ λλ€. 리ν΄κ°μ λ€μ ννμ μ 보λ₯Ό λ°°μ΄λ‘ μ§λλλ€.
{
'date': '2020.05.28. μ€μ 11:21',
'writing': 'λ°μΌλ¦¬μ',
'url': 'http://news.naver.com/main/list.nhn?mode=LSD&mid=sec&listType=title&sid1=100&date=20200528&page=43',
'title': '<ν¬ν > μλ΄λμ±
νμ μ£Όμ¬νλ κΉνλ
',
'href': 'https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=100&oid=119&aid=0002404281'
}
Example
from newsCrawler import NewsCrawler
Crawler = NewsCrawler()
# param: μΉ΄ν
κ³ λ¦¬, μμμ°λ, μμμ, νλ‘μΈμ€ κ°μ, μμ§ μ€λ λ κ°μ
ret = Crawler.getTitles('μ μΉ', 2020, 5, 4, 10)
Multi Process μλ΄
ν¬λ‘€λ§ μμ μ ν¬κ² λ κ°μ§ λ¨κ³λ‘ λλμ΄μ§λλ€. 첫 λ²μ§Έλ λ€νΈμν¬λ₯Ό μ΄μ©ν html νμ΄μ§ μμ§ λ¨κ³, λ λ²μ§Έλ μμ§λ νμ΄μ§λ₯Ό λ°μ΄ν°λ‘ κ°κ³΅νλ κ°κ³΅ λ¨κ³μ λλ€. μ΄μ λ©ν°νλ‘μΈμλ₯Ό μ μ ν νμ©νκΈ° μν΄ λ€μ κ΅¬μ‘°λ‘ λ³κ²½νμμ΅λλ€.
- λ©μΈ νλ‘μΈμ€λ nκ°μ μμ§ νλ‘μΈμ€λ₯Ό μμ±ν©λλ€.
- κ° μμ§ νλ‘μΈμ€λ λ€μ mκ° λ§νΌμ λ€νΈμν¬ μμ§ μ€λ λλ₯Ό μ΄μ©ν΄ λ³λ ¬ μμ§ν©λλ€.
- μμ§μ΄ μλ£λλ©΄ κ°κ³΅ νλ‘μΈμ€λ₯Ό μμ±νμ¬ κ°κ³΅ν©λλ€.
nμ νλ‘μΈμ€μ κ°μμ λλ€. κ°κ³΅ νλ‘μΈμ€μ κ°μμ λμΌνλ©°, κ° νλ‘μΈμ€λ μ λ ₯ λ²μ(μμ§ν λ²μ)λ₯Ό nλ§νΌ λλμ΄ μμ ν©λλ€.
mμ νλ‘μΈμ€ λ΄ μμ§ μ€λ λμ κ°μμ λλ€. ν¬λ‘€λ§μμλ μ°μλ λ€νΈμν¬ νκ²½μ΄ μλλΌ, μ§μμ μΌλ‘ λ€λ₯Έ urlμ μ κ·ΌνκΈ° λλ¬Έμ λ€νΈμν¬ μλλ³΄λ€ μ»΄ν¨ν μλμ μμ‘΄ν μ μμ΅λλ€. λλ¬Έμ λ©ν° μ€λ λλ₯Ό μ΄μ©ν©λλ€.
License
Apache License 2.0