网页爬虫 - python如何优雅的进行字符过滤?
黄舟
黄舟 2017-04-18 10:15:45
0
2
467

比如我在采集一个网站的时候,我想直接过滤或是替换掉一些没用的信息,比如QQ 手机 或是 www 开头的东西

数据量小一点还好我可以这样写:

if "http" or "www" or "QQ" or "qq" in content:
    ....

但是数据量大的话那不是很悲剧?
难道要一直or来连接?

最优雅的实现方式是什么?我想能用正则的话肯定是比较好的

因为需要匹配的信息太多了 ,比如QQ号码,网址,电话等这些都要进行查找和替换

黄舟
黄舟

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

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

Cela dépend de la taille de vos données. La taille des données est petite. Tout au plus, vous pouvez enregistrer les mots-clés dans Redis ou dans un fichier de configuration. Chaque fois que vous explorez les données, supprimez tous les mots-clés et remplacez-les.

Mais comme vous êtes un robot d'exploration Web, si les mots-clés et les chaînes à filtrer sont particulièrement volumineux, même si vous utilisez des expressions régulières, l'efficacité sera très préoccupante.

Par exemple, vous avez 100 000 mots-clés qui doivent être filtrés. Supposons que vous puissiez combiner ces 100 000 mots-clés en 50 000 expressions régulières (sans parler de la nécessité d'écrire manuellement autant d'expressions régulières ou de générer automatiquement des expressions régulières), la chaîne qui chaque fois est très long et doit être bouclé au moins 50 000 fois pour respecter toutes les règles habituelles. Je pense que cette méthode simple n'est peut-être pas disponible.

Juste ma suggestion personnelle, vous pouvez vous référer à cet article : http://blog.jobbole.com/99910/ Il explique comment segmenter les mots-clés et créer des index de mots-clés pour obtenir des requêtes plus efficaces. Cet article présente le moteur de balises de stackoverflow.

Ou je recommande d'utiliser des poids lourds comme ElasticSearch. . . Évidemment, il n’y a aucun moyen de dire des dizaines de mots ici.

迷茫

Ce que vous avez dit ci-dessus est correct, mais si les données sont petites, vous pouvez envisager d'en utiliser n'importe quelle

a = [1, 2]
b = [2, 3]
if any(i in b for i in a):
    pass
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!