Поиск одинаковой информации на большом количестве сайтов - PullRequest
0 голосов
/ 26 мая 2020

Я провел бесчисленное количество часов исследований, и все же я не могу найти ничего подходящего для моей задачи по очистке всех веб-сайтов из списка URL-адресов. Вот код, который я написал для поиска и получения URL-адресов моих целевых веб-сайтов, и мой вопрос заключается в том, как мне очистить каждый сайт, если их структура почти произвольна? Могу ли я связать каждый веб-сайт с его соответствующими селекторами, указывающими на данные, которые я ищу? Или я использую какой-то алгоритм машинного обучения, чтобы найти одну и ту же информацию со всех веб-сайтов? Сейчас у меня около 150 веб-сайтов, некоторые из которых требуют заполнения форм (например, местонахождение, тип собственности и т. Д. c ...). Как мне подойти к этой проблеме?

from googlesearch import search
from openpyxl import Workbook


def get_urls():
    all_urls = set()

    queries = ['Frankfurt plot for sale', 'frankfurt real estate for sale', 'frankfurt houses for sale',
                'frankfurt homes for sale', 'frankfurt land for sale', 'frankfurt parcels for sale',
                'real estate properties in frankfurt']

    for string in queries:
        for i in search(string, num=50, stop=50, pause=2):
            all_urls.add(i)

    return all_urls


def export_to_excel(urls):
    wb = Workbook()
    workSheet = wb.active
    workSheet.column_dimensions['A'].width = 150
    for i, url in enumerate(urls):
        cell = workSheet.cell(row=i+1, column=1)
        cell.value = url

    wb.save(filename='urls.xlsx')


if __name__ == '__main__':
    export_to_excel(get_urls())

1 Ответ

0 голосов
/ 26 мая 2020

используйте селен, и вот эта штука find_element_by_link_text()
, которую он находит, позволяет сказать поле ввода, например: location so
driver.find_element_by_link_text('location').send_keys("frankfurt")

...