18
Июл
2017

Python3 | Как реализовать парсер

Реализовал парсер, код:

from bs4 import BeautifulSoup
import urllib.request

html_doc = urllib.request.urlopen('http://google.com').read()
soup = BeautifulSoup(html_doc, "html.parser")

for link in soup.find_all('a'):
    print(link.get('href'))

    html_next = urllib.request.urlopen(str(link.get('href'))).read()
    soup_next = BeautifulSoup(html_next, "html.parser")
    for link_next in soup_next.find_all('a'):
        print(link_next.get('href'))

Все отлично выводиться, только вот более 50% это неполные url адреса по типу /advanced_image_search?hl=uk&authuser=0 или /feed/history .

И они исходят из разных источников, /advanced_image_search?hl=uk&authuser=0 = http://google.com/advanced_image_search?hl=uk&authuser=0, /feed/history не будет приравниваться к google.com,так как будет возникать ошибка 404 url не найден, и так со всеми неполными url адресами. Я понятия не имею как решить эту столь обширную проблему.

Обходить данные url адреса не вариант, ибо по ним нужно будет проходить и собирать данные, картинки, скрипты и т.д.

Как решить данную проблему?

Источник: https://ru.stackoverflow.com/questions/693564/python3-%D0%9A%D0%B0%D0%BA-%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%BF%D0%B0%D1%80%D1%81%D0%B5%D1%80

Тебе может это понравится...

Добавить комментарий