每天都从没有任何饲料的网站上抓取新闻文章



我可以使用Python美丽的汤模块从网站供稿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模块或算法等?

n.b:这里存在一个有点相似的问题,没有提到提要是解析源。似乎OP从页面上提取文章将其列出为文本的页面快照。与这个问题不同,我的问题重点是没有任何提要的网站。而存在的唯一答案并未解决此问题。

我不确定正确理解,但是我看到的第一件事是 {'href': re.compile("^http://")}

您会错过所有https和相对链接。亲戚链接可以在这里跳过而没有任何问题(我想..(,但显然不是https。所以第一件事:

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

然后,为了避免每天下载和解析相同的URL,您可以提取文章的ID(在https://www.jugantor.com/lifestyle/19519/%E0%...A7%87 ID中是19519(,将其保存在数据库中,然后首先验证是否存在ID之前,请先删除页面。/p>

最后一件事,我不确定这是否有用,但是此URL https://www.jugantor.com/todays-paper/让我认为您只能找到今天的新闻。

最新更新