Как добавить "https://www.example.com/" перед очищенными URL в Python, у которых его еще нет - PullRequest
0 голосов
/ 07 января 2019

Я новичок, использующий Python, и я пытаюсь вычеркнуть список URL-адресов и с веб-сайта и отправить их в файл .CSV, но я продолжаю получать кучу URL, которые являются только частичными. Они не имеют "https://www.example.com" до остальной части URL. Я обнаружил, что мне нужно добавить что-то вроде" ['https://www.example.com{0}'.format(link), если ссылка link.startswith (' / ') else) для ссылки в url_list] "в мой код, но где я должен его добавить? И это даже то, что я должен добавить? Спасибо за любую помощь! Вот мой код:

url_list=soup.find_all('a')
with open('HTMLList.csv','w',newline="") as f:
    writer=csv.writer(f,delimiter=' ',lineterminator='\r')
    for link in url_list:
        url=link.get('href')
        if url:
            writer.writerow([url])
f.close()

Если вы заметили что-то еще, что должно быть изменено, пожалуйста, дайте мне знать. Спасибо!

1 Ответ

0 голосов
/ 07 января 2019

Простое утверждение if достигнет этого. Просто проверьте наличие https://www.example.com в URL-адресе и, если он не существует, объедините его.

url_list=soup.find_all('a')
with open('HTMLList.csv','w',newline="") as f:
    writer=csv.writer(f,delimiter=' ',lineterminator='\r')
    for link in url_list:
        url=link.get('href')
        # updated
        if url != '#' and url is not None:
            # added
            if 'https://www.example.com' not in url:
                url = 'https://www.example.com' + url
            writer.writerow([url])
f.close()
...