Как найти соответствующие ссылки? - PullRequest
0 голосов
/ 06 марта 2020

Здравствуйте, ребята, у меня вопрос о том, как я могу найти соответствующие ссылки. Так что я знаю, как найти соответствующие посещения

def csv_readline(line):
"""Given a sting CSV line, return a list of strings."""
for row in csv.reader([line]):
    return row

Класс CountTitles (MRJob):

def mapper(self, line_no, line):
    """Extracts the Vroot that was visited"""
    cell = csv_readline(line)
    if cell[0] == 'V':
        yield cell[1], ('V', 1) # yield a tuple

    elif cell[0] == 'A':
        yield cell[1], ('A', cell[3])


def reducer(self, vroot, visit_counts_and_title):
    """Sumarizes the visit counts by adding them together.  Extracts title,
    sums visit counts, returns both."""
    total = 0
    title = ''

    for value in visit_counts_and_title:
        if value[0] == 'V':
            total += value[1]
        elif value[0] == 'A':
            title = value[1]

    yield title, total

если имя == ' main ': CountTitles.run ()

А что если у меня возникнет вопрос, как будто у нас есть CSV-файл с данными типа

line 1-url1,url2
line 2-url1,url3
line 3-url2,url3
line 4-url4,url5
line 5-url2,url4

Так что нам нужно найти тройки URL-адресов (и v, w) такой, что есть ссылка от u до v и ссылка от v до w.

и вывод должен быть таким

url2, url4, url5
url1, url2, url3
url1, url2, url4
...