小弟想做一个自动转发网站新闻的微博机器人作为python练手项目。
我知道需要api对接、需要爬取网站的新闻链接和标题。
但是如何只提取最新的新闻呢?
以下是按照我的要求过滤后,输出所有新闻的代码:
bar = soup.find_all('li', attrs={'data-label': True})
news = len(bar)
for i in range(news):
if u'巴塞罗那' in bar[i]['data-label'].split(','):
print bar[i]
我想提取过滤后列表里的第一条:print bar .
但提取后会反复显示len(bar)次,而且跳过过滤规则,请问如何解决?
ライブブロードキャストをクロールしていますか?
変数 lasttime を設定して、最後のクロールの時刻を記録できます
リーリー実際、この問題は非常によくある問題、つまり重い文章です。まず、各ニュースにタイムスタンプやライブ ブロードキャスト バーの接続方法などの一意の識別子を追加する必要があります: "http://news.zhibo8.cc/zuqiu/2016-10-18/5805df3d3422f",利用可能:
リーリーニュースの一意の ID として、より厳密には、0:
などのサッカーのロゴを追加します。 リーリー一意の ID を使用すると、現在のページのニュースの ID を順番にメモリに保存してから、次のページをクロールするなど、さまざまな方法で処理が容易になります。新しいニュースは、現在のリストの最初の ID の後のニュースです。 次に、リストを更新します。たとえば、新しいニュースが n 件追加された場合、古いニュースをリストから削除できます。空間や時間に関係なく、とても良いです。
ニュースを保存したい場合は、削除したニュースを毎回データベースに保存してください。
ニュース Web ページには時間フィールドがありませんか?
あなたの目標は、最新のニュースを抽出し、設定したキーワードを含めることです。 !実際、最も簡単な方法は、time.sleep(60) を設定し、1 分後に Web ページのデータを再クロールすることです。そうすれば、最新のニュースを入手できますよね。また、あなたの質問には情報が少なすぎます。