Современный скрапинг веб-сайтов с помощью Python. 2-е межд. издание
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Современный скрапинг веб-сайтов с помощью Python. 2-е межд. издание

Злой бармалей
Злой бармалейдәйексөз келтірді3 апта бұрын
https://github.com/REMitchell/python-scraping.
Комментарий жазу
Артём Ронэ
Артём Ронэдәйексөз келтірді3 ай бұрын
анализ данных, синтаксический анализ естественных языков и информационная безопасность.
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
else: internalLinks.append(link.attrs['href']) return internalLinks # Получить список всех внешних ссылок, найденных на странице. def getExternalLinks(bs, excludeUrl): externalLinks = [] # Найти все ссылки, которые начинаются с "http" или "www", # не содержащие текущий URL. for link in bs.find_all('a', href=re.compile('^(http|www)((?!'+excludeUrl+').)*$')): if link.attrs['href'] is not None: if link.attrs['href'] not in externalLinks: externalLinks.append(link.attrs['href']) return externalLinks def getRandomExternalLink(startingPage): html = urlopen(startingPage) bs = BeautifulSoup(html, 'html.parser') externalLinks = getExternalLinks(bs, urlparse(startingPage).netloc) if len(externalLinks) == 0: print('No external links, looking around the site for one') domain = '{}://{}'.format(urlparse(startingPage).scheme, urlparse(startingPage).netloc) internalLinks = getInternalLinks(bs, domain) return getRandomExternalLink(internalLinks[random.randint(0, len(internalLinks)-1)]) else: return externalLinks[random.randint(0, len(externalLinks)-1)] def followExternalOnly(startingSite): externalLink = getRandomExternalLink(startingSite) print('Random external link is: {}'.format(externalLink)) followExternalOnly(externalLink) followExternalOnly('http://oreilly.com')
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
from urllib.request import urlopen from urllib.parse import urlparse from bs4 import BeautifulSoup import re import datetime import random pages = set() random.seed(datetime.datetime.now()) # Получить список всех внутренних ссылок, найденных на странице. def getInternalLinks(bs, includeUrl): includeUrl = '{}://{}'.format(urlparse(includeUrl).scheme, urlparse(includeUrl).netloc) internalLinks = [] # найти все ссылки, которые начинаются с "/" for link in bs.find_all('a', href=re.compile('^(/|.*'+includeUrl+')')): if link.attrs['href'] is not None: if link.attrs['href'] not in internalLinks: if(link.attrs['href'].startswith('/')): internalLinks.append( includeUrl+link.attrs['href'])
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
Принимая решение о том, какие данные собирать, зачастую лучше игнорировать сайты. Нельзя запустить проект, рассчитанный на то, чтобы стать большим и масштабируемым, посмотрев только на один сайт и спросив себя: «Что здесь есть?» Вместо этого нужно задать другой вопрос: «Что мне нужно?» — а затем найти способы поиска необходимой информации.
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
Вас могут попросить собрать цены на товары с разных сайтов, чтобы в итоге можно было сравнивать цены на один и тот же товар. Возможно, они будут представлены в разных валютах. Вдобавок, вероятно, потребуется объединить их с внешними данными, полученными из какого-то другого источника, не имеющего отношения к Интернету.
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
Привычка составлять схемы и диаграммы того, что должен делать код, прежде чем писать его, фантастически полезна. По мере усложнения ваших веб-краулеров она сэкономит вам кучу времени и избавит от многих разочарований.
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
В Python установлен по умолчанию предел рекурсии (количество рекурсивных вызовов программы), и он равен 1000.
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
Несмотря на большой разброс оценок, глубокий Интернет почти наверняка составляет около 90 % всего Интернета.
Комментарий жазу
Алексей Лукконен
Алексей Лукконендәйексөз келтірді4 ай бұрын
Глубокий Интернет — это любая часть Сети, выходящая за пределы видимого Интерне­та. Видимой называют ту часть Интернета, которая индексируется поисковыми системами.
Комментарий жазу