首页 > 解决方案 > 有没有办法从 TheHackerNews 上发布的帖子中使用 BeautifulSoup 触发 Python 函数?

问题描述

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq

web_scrape = 'https://thehackernews.com/'

uClient = uReq(web_scrape)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, 'html.parser')

现在,我有这个代码。如果不写我前面在标题中提到的函数,我不想更进一步。我想编写一个在 TheHackerNews 上发布帖子时运行的函数。(使用网络抓取来获取我假设的帖子信息。)我不知道如何做到这一点,有人可以帮助我吗?

标签: pythonweb-scrapingbeautifulsoup

解决方案


feedparser允许您检查 rss 提要的最后修改的标题以检查新消息。仅当自上次请求以来发布了新消息时,它才会返回消息。这允许低带宽解决方案而无需任何刮擦。

import feedparser
import time

d = feedparser.parse('https://feeds.feedburner.com/TheHackersNews')
last_modified = d.modified

while True:
    d2 = feedparser.parse('https://feeds.feedburner.com/TheHackersNews', modified=last_modified)

    if d2.status == 304:
        print('no new messages')
    elif d2.status == 200:
        last_modified = d2.modified
        print('new messages')
        # trigger function here

    time.sleep(300) #sleep for 5 mins

推荐阅读