使用python在新闻中搜索公司名称

时间:2016-10-29 21:01:20

标签: python string-matching

我有以下公司列表

companies = [Advance Auto Parts Inc, AllianceBernstein Holding L.P., AbbVie Inc., Asbury Automotive Group Inc, ABM Industries Incorporated]

我也有每日新闻数据。

News = ['news1', 'news2', 'news3']

现在我想在新闻数据中搜索这些名称,但在新闻公司名称中不会像上面列表中那样出现完整名称。我想做这样的事情:

for news in News:
    for company in companies:
        if (company in news): 
            print('do something')

现在我想到的最好的想法是以一种预期在新闻中调用的方式来记录所有公司的名称,但这需要花费很多时间,因为我有数千家公司。 有什么建议来处理这个问题吗?感谢。

2 个答案:

答案 0 :(得分:2)

首先尝试识别最常见的结局;例如 Inc Ltd ,然后您就可以搜索新闻 Advance Auto Parts Inc 和剥离版 高级汽车零件 。然后你可以尝试找出是否有任何其他词语,如 群组 或字符串,如 和儿子 名称。

每次使用全名运行新闻搜索功能,然后使用每个剥离版本运行。

news(company_name):
    stripped_versions = company_name
    stripped_versions += strip(company_name)
    for version in stripped_versions:
        search_news(version)

其中stripped_versions是公司名称的列表,包括剥离版本,例如:[Advance Auto Parts Inc,Advance Auto Parts]

我希望这段伪代码可以帮助您解决问题

答案 1 :(得分:0)

我建议您从互联网本身获取公司名称列表并重建您的列表。使用谷歌dorks调整谷歌搜索可能会对你有所帮助。

喜欢把

public class MyClass
{
    public void MyMethod()
    {
        TestC();
    }

    private void TestC()
    {
        TestA();
    }

    private void TestA()
    {
        TestB();
    }

    private void TestB()
    {
        Console.WriteLine("Hello");
    }
}

谷歌搜索栏中的上述dork会弹出一些带有列表的xls文件。我认为这仍然需要一些手工工作,但更容易