python - 爬虫获取页面链接,求问如何判断是最新的链接?
黄舟
黄舟 2017-04-18 09:46:23
0
4
317

小弟想做一个自动转发网站新闻的微博机器人作为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)次,而且跳过过滤规则,请问如何解决?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(4)
伊谢尔伦

Explorez-vous la diffusion en direct ?

Vous pouvez définir une variable lasttime pour enregistrer l'heure de la dernière exploration

from datetime import datetime

#type datetime
lasttime

bar = soup.find_all('li', attrs={'data-label': True})
news = len(bar)
for i in range(news):
    d = datetime.strptime(bar[i].text[-19:], "%Y-%m-%d %H:%M:%S")
    if u'巴塞罗那' in bar[i]['data-label'].split(',') and d > lasttime:
        print bar[i]
阿神

En fait, ce problème est très courant, c'est-à-dire des peines lourdes. Tout d'abord, vous devez ajouter un identifiant unique à chaque actualité, comme un horodatage, ou la méthode de connexion dans la barre de diffusion en direct : "http://news.zhibo8.cc/zuqiu/2016-10-18/5805df3d3422f", vous pouvez Disponible :

20161018-5805df3d3422f

Comme identifiant unique de l'actualité, ou plus strictement, ajoutez le logo du football, tel que 0 :

0-20161018-5805df3d3422f

Avec un identifiant unique, c'est beaucoup plus facile à gérer. Il existe de nombreuses façons, par exemple, de conserver une liste en mémoire, qui stocke les identifiants des actualités sur la page en cours, puis d'explorer la page suivante. time. Puis sur la page Les nouvelles nouvelles sont les nouvelles après le premier identifiant de la liste actuelle. Mettez ensuite à jour la liste. Vous pouvez supprimer les anciennes actualités de la liste. Par exemple, si n nouvelles actualités sont ajoutées, alors les n dernières actualités seront supprimées. Peu importe l'espace ou le temps, c'est plutôt bien.
Si vous souhaitez toujours enregistrer les actualités, enregistrez à chaque fois les actualités supprimées dans la base de données.

迷茫

Les pages Web d'actualités n'ont-elles pas de champs horaires ?

大家讲道理

Votre objectif est d'extraire les dernières nouvelles et d'inclure les mots-clés que vous avez définis ! ! En fait, le moyen le plus simple est de définir time.sleep(60) et de réexplorer les données de la page Web après une minute. Vous pourrez alors obtenir les dernières nouvelles, n'est-ce pas ? De plus, votre question contient trop peu d'informations,

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!