Я работаю над простой программой, которая извлекает ссылки с данного веб-сайта и помещает их в список. После этого извлеченные URL-адреса в списке «todo» постепенно анализируются таким же образом.
Основная программа работает, но в следующей версии я просто хочу извлечь основные страницы и игнорировать нижнюю часть (например, «www.stackoverflow.com», НО НЕ «www.stackoverflow.com/questions/ask»)
Я пытался использовать функцию re.findall
, но поскольку это объект list
, она разрушает структуру моего повторяемого списка дел.
Есть ли возможность просто вернуть строку при использовании регулярных выражений?
soup = BeautifulSoup(handle, 'html.parser')
newlinks = soup.find_all('a')
for link in newlinks:
todo.append( re.findall('(http://.+)/', link.get('href')) )
todo.extend()
, если вам не нужен вложенный список - person OneCricketeer   schedule 09.03.2016urllib.parse
может иметь то, что вы хотите. Я обновил свой ответ некоторыми деталями. - person Blckknght   schedule 09.03.2016