84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
比如我在采集一个网站的时候,我想直接过滤或是替换掉一些没用的信息,比如QQ 手机 或是 www 开头的东西
数据量小一点还好我可以这样写:
if "http" or "www" or "QQ" or "qq" in content: ....
但是数据量大的话那不是很悲剧?难道要一直or来连接?
最优雅的实现方式是什么?我想能用正则的话肯定是比较好的
因为需要匹配的信息太多了 ,比如QQ号码,网址,电话等这些都要进行查找和替换
人生最曼妙的风景,竟是内心的淡定与从容!
これはデータのサイズによって異なります。データのサイズが小さい場合は、データをクロールするたびにキーワードを Redis または何らかの構成ファイルに保存して、すべてのキーワードを置き換えることができます。
ただし、Web クローラーであるため、フィルタリングする必要があるキーワードや文字列が特に大きい場合は、正規表現を使用したとしても効率が非常に心配になります。
たとえば、フィルターで除外する必要があるキーワードが 100,000 個あり、これらの 100,000 個のキーワードを 50,000 個の正規表現に結合できるとします (多数の正規表現を手動で記述するか、正規表現を自動的に生成するかは言うまでもありません)。 crime down は非常に長いため、すべての正規表現と一致させるには少なくとも 50,000 回ループする必要があります。この単純な方法はおそらく利用できないと思います。
私の個人的な提案です。この記事を参照してください: http://blog.jobbole.com/99910/ この記事では、より効率的なクエリを実現するためにキーワードをセグメント化し、キーワード インデックスを構築する方法について説明しています。この記事では、stackoverflow のタグ エンジンを紹介します。
または、ElasticSearch のような強力なものを使用することをお勧めします。 。 。明らかに、ここで何十もの言葉を言う方法はありません。
上記の人が言ったことは正しいですが、データが小さい場合は、任意の使用を検討できます
これはデータのサイズによって異なります。データのサイズが小さい場合は、データをクロールするたびにキーワードを Redis または何らかの構成ファイルに保存して、すべてのキーワードを置き換えることができます。
ただし、Web クローラーであるため、フィルタリングする必要があるキーワードや文字列が特に大きい場合は、正規表現を使用したとしても効率が非常に心配になります。
たとえば、フィルターで除外する必要があるキーワードが 100,000 個あり、これらの 100,000 個のキーワードを 50,000 個の正規表現に結合できるとします (多数の正規表現を手動で記述するか、正規表現を自動的に生成するかは言うまでもありません)。 crime down は非常に長いため、すべての正規表現と一致させるには少なくとも 50,000 回ループする必要があります。この単純な方法はおそらく利用できないと思います。
私の個人的な提案です。この記事を参照してください: http://blog.jobbole.com/99910/ この記事では、より効率的なクエリを実現するためにキーワードをセグメント化し、キーワード インデックスを構築する方法について説明しています。この記事では、stackoverflow のタグ エンジンを紹介します。
または、ElasticSearch のような強力なものを使用することをお勧めします。 。 。明らかに、ここで何十もの言葉を言う方法はありません。
上記の人が言ったことは正しいですが、データが小さい場合は、任意の使用を検討できます
リーリー