【问题标题】:Matching words with information from a web scraper将单词与来自网络爬虫的信息匹配
【发布时间】:2019-06-10 14:06:50
【问题描述】:

首先抱歉,如果这是在错误的部分,因为它不是编码问题,我不知道该放在哪个部分。

我的问题是:

假设我创建了一个网络爬虫,可以从招聘网站中提取所有信息。信息如下所示:

Row 1 -  Company X , Computer engineer
Row 2 -  Company X , Civil engineer
Row 2 -  Company Y , Data Scientist
Row 3 -  Company Z , Data Analyst

我想在 python 中创建一些东西,甚至是 excel,如果它更容易自动标记一行或根据一些预定的单词为公司评分。

如果工程师是有问题的词,那么分数将是:

Company X = 2 , Company Y = 0 , Company Z = 0

如果您需要任何细节,请不要犹豫。我想在网上搜索任何类型的答案是什么? NLP 或 Regex 会帮助我吗?

谢谢!

【问题讨论】:

    标签: python regex web-scraping nlp


    【解决方案1】:

    正则表达式足以解决您的问题。首先,您应该优化您抓取的数据,使其格式保持不变,然后您可以使用正则表达式提取数据。以下是您的数据示例:

    import re
    from pprint import pprint
    
    REGEX = re.compile(r'Row (?P<row>\d+) *- *Company (?P<company>\S+) *, *(?P<profession>.*)')
    
    rows = [
        'Row 1 -  Company X , Computer engineer',
        'Row 2 -  Company X , Civil engineer',
        'Row 2 -  Company Y , Data Scientist',
        'Row 3 -  Company Z , Data Analyst'
    ]
    
    found_data = []
    
    for row in rows:
        found = REGEX.match(row)
        if found:
            found_data.append([
                found.group('row'),
                found.group('company'),
                found.group('profession')
            ])
    pprint(found_data)
    
    [['1', 'X', 'Computer engineer'],
     ['2', 'X', 'Civil engineer'],
     ['2', 'Y', 'Data Scientist'],
     ['3', 'Z', 'Data Analyst']]
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2013-01-09
      • 2017-12-28
      • 2017-01-26
      • 2016-06-23
      • 2013-03-09
      相关资源
      最近更新 更多