Web Crawler Советы по зацикливанию красивого супа - PullRequest
0 голосов
/ 18 февраля 2020

Мне нужно создать веб-сканер, чтобы получить все ссылки с одного указанного c веб-сайта (https://www.debenhams.com/).

Пока что это то, что я строю:

def crawler_debenhams():
from bs4 import BeautifulSoup
import requests

url = 'https://www.debenhams.com/'
source = requests.get(url).text
soup = BeautifulSoup(source, 'lxml')
#print(soup.prettify()) # just to check the complete html of the website

main_paths = soup.find_all('a')

all_paths = ['https://www.debenhams.com/']
for paths in main_paths:
    path = paths['href']
    all_paths.append(path)
all_paths = set(all_paths)
all_paths = sorted(all_paths)

for path in all_paths:
    if 'https://' in path or 'http://' in path:
        with open('links_teste_simples.txt', 'a') as links:
            links.writelines(f'{path}\n')
    else:
        with open('links_teste_simples.txt', 'a') as links:
            links.writelines(f'https://www.debenhams.com{path}\n')

crawler_debenhams ()

Я сохраняю ссылки в виде текстовых файлов, но я не знаю, есть ли другой, более правильный способ сделать это.

У меня проблемы с l oop этим кодом на всех страницах этого сайта, кто-нибудь может мне помочь с идеями? А что такое файл robots.txt и как с ним бороться?

...