有没有办法从HackerNews上发布的帖子中触发一个带有BeautifulSoup的Python函数? 从bs4导入BeautifulSoup作为汤 从urllib.request导入urlopen作为uReq 网络刮擦https://thehackernews.com/' uClient=uReq(web\u scrape) page_html=uClient.read() uClient.close() page_soup=soup(page_html,'html.parser')

有没有办法从HackerNews上发布的帖子中触发一个带有BeautifulSoup的Python函数? 从bs4导入BeautifulSoup作为汤 从urllib.request导入urlopen作为uReq 网络刮擦https://thehackernews.com/' uClient=uReq(web\u scrape) page_html=uClient.read() uClient.close() page_soup=soup(page_html,'html.parser'),python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,现在,我有这个代码。我不想继续写我在标题前面提到的函数。我想写一个函数,每当有帖子发布到HackerNews上时,它都会运行。(我假设使用网页抓取来获取帖子的信息。)我不知道该怎么做,有人能帮我吗???feedparser允许您检查rss提要的内容以检查新消息。仅当自上次请求后已发布新消息时,它才会返回消息。这允许在没有任何刮擦的情况下使用低带宽的溶液 import feedparser import time d = feedparser.parse('https://feeds.feedb

现在,我有这个代码。我不想继续写我在标题前面提到的函数。我想写一个函数,每当有帖子发布到HackerNews上时,它都会运行。(我假设使用网页抓取来获取帖子的信息。)我不知道该怎么做,有人能帮我吗???

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

不。你可以从他们的rss提要中获取信息(我相信他们可能会提供这一点)。或者你可以每5分钟或其他时间运行一次你的刮板。我怎样才能得到每次帖子都在其中的特定容器,不是不同吗?它会一直是一样的。很抱歉我没有得到这个,我如何——在哪里——找到帖子?你必须学习网络刮板课程。了解XPath css选择器。好的,我相信这是可行的,但是我如何通过网络抓取获取帖子上的信息呢?帖子的数据可以在
d['entries']
d2['entries']
中找到,后者只有在
d2.status==200
时才能找到。运行
print(d['entries'])
查看数据结构的外观。是否有任何方法也可以获取帖子的链接?是的,可以在
d['entries'][i]['feedburner\u origlink']下找到它们。
。请注意,
d['entries']
是一个文章数据列表,因此您必须循环它才能获得链接。好的,非常感谢!