Итак, я пытаюсь почистить ссылки со случайной страницы википедии. Вот мой код:
from bs4 import BeautifulSoup
import requests
import pandas as pd
import urllib2
# function get random page
def get_random():
import requests
# r = requests.get('https://en.wikipedia.org/wiki/Special:Random')
r = requests.get('https://en.wikipedia.org/wiki/Carole_Ann')
return r.url
#========================
#finding the valid link
def validlink(href):
if href:
if re.compile('^/wiki/').search(href):
if not re.compile('/\w+:').search(href):
return True
return False
#validlink()===========
#the first site
a1 = get_random()
#print("the first site is: " + a1)
# the first site end()====
#looking for the article name:
blin = requests.get(a1)
soup = BeautifulSoup(blin.text, 'html.parser')
title = soup.find('h1', {'class' : 'firstHeading'})
print("starting website: " + a1 + " Titled: " + title.text)
print("")
#=============================
#first article done
#find body:
import re
body = requests.get(a1).text
soup = BeautifulSoup(body, 'lxml')
for link in soup.findAll("a"):
url = link.get("href", "")
print(
#======================
Я знаю, что я делаю эту последнюю часть неправильно. Я новичок в python, поэтому я просто понятия не имею, как go об этой части, что мне нужно, это вытащить все ссылки со случайного сайта, на который меня ведет случайная страница, затем я перетаскиваю ссылку и название с этого сайта, тогда мне нужно извлечь ссылки на википедию с этой страницы, что я и собираюсь сделать в последнем фрагменте кода, вот еще один фрагмент:
и в этот момент я хочу напечатать все ссылки, которые он находит после того, как они были проверены с моей действующей функцией ссылок вверху:
снова простите меня за то, что я новое и не понимающее в этом. Но, пожалуйста, помогите, я не могу понять это.
, поэтому у меня возник вопрос: мне нужно создать фрагмент кода, который будет вытягивать все ссылки на веб-сайты со страницы Википедии (к сведению, что я до сих пор не знаю, как сделать, чтобы l oop было моей лучшей догадкой, основанной на моих собственных исследованиях), тогда мне нужно проверить ссылки, которые я перетянул на мою функцию validlink, и распечатать все действительные ссылки.