簡體   English   中英

Python-每天從沒有任何提要的網站上抓取新聞文章

[英]Python- scraping news articles on daily basis from sites that do not have any feed

我可以使用 Python Beautiful Soup模塊從站點提要 URL 中提取新聞項。 但是假設該站點沒有提要,我需要每天從中提取新聞文章,就像它有提要一樣。

該網站https://www.jugantor.com/沒有提要。 即使通過谷歌搜索,我也沒有找到任何 . 使用以下代碼片段,我嘗試從站點中提取鏈接。 結果顯示諸如“ http://epaper.jugantor.com ”之類的鏈接。 但網站上出現的新聞項目也不包含在提取的鏈接中。

我的代碼:

from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import re


def getLinks(url):

    USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'
    request = Request(url)
    request.add_header('User-Agent', USER_AGENT)
    response = urlopen(request)
    content = response.read().decode('utf-8')
    response.close()

    soup = BeautifulSoup(content, "html.parser")
    links = []

    for link in soup.findAll('a', attrs={'href': re.compile("^http://")}):
        links.append(link.get('href'))

    return links

print(getLinks("https://www.jugantor.com/"))

顯然,這不符合預期目的。 我每天都需要“ https://www.jugantor.com/ ”的所有新聞文章鏈接,就好像我是從提要中獲取它們一樣。 我可以使用 cron 作業每天運行一個腳本。 但挑戰仍然在於識別特定日期發表的所有文章,然后提取它們。

我怎樣才能做到這一點 ? 任何python模塊或算法等?

注意: 這里存在一個有點類似的問題,它沒有提到作為解析源的提要。似乎那里的 OP 關注從將文章列為文本快照的頁面中提取文章。 與那個問題不同,我的問題側重於沒有任何提要的網站。 然而,那里存在的唯一答案並沒有解決這個問題。

我不確定是否理解正確,但我首先看到的是{'href': re.compile("^http://")}

您將錯過所有https和相關鏈接。 可以在這里跳過親屬鏈接而沒有任何問題(我猜..),但顯然不是https 所以第一件事:

{'href': re.compile("^https?://")}

然后,為了避免每天下載和解析相同的 URL,您可以提取文章的 id(在https://www.jugantor.com/lifestyle/19519/%E0%...A7%87 id is 19519 ) ,將其保存在數據庫中,因此在抓取頁面之前首先驗證 id 是否存在。

最后一件事,我不確定這是否有用,但是這個 url https://www.jugantor.com/todays-paper/讓我覺得你應該只能找到今天的新聞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM