from bs4 import BeautifulSoup as Soup,Tag
import requests
url=r"https://en.wikipedia.org/wiki/Lists_of_tourist_attractions"
r = requests.get(url)
soup = Soup(r.content,"html.parser" )
for link in soup.find_all('a', href=True):
print (link['href'])
for ul in soup.findAll('div'):
print(ul.text)
for li in ul.findAll('li'):
print(li.text)
上面的是一个工作代码。这可以使用任何维基百科页面。 问题是: 我试图得到 href和title彼此相邻。我无法得到这个。
在第二个for循环中,将所有内容作为div并打印在一行中。
我如何打印标题和href副词(li内容)
答案 0 :(得分:1)
也许这不是您想要的,但是您可以尝试一下。我对您的两个for
循环都做了小的修改:
for lnk in soup.findAll('a', href=True):
title = (lnk.text)
link = (lnk['href'])
if title != '':
print ("Title: {}, Link: https://en.wikipedia.org{}".format(title, link))
答案 1 :(得分:1)
尝试这个:
^([A-z0-9]+(\.?)+([A-z0-9]?))+@(?!(Yahoo.net|Google.com))[A-z]+\.[A-z]+$
顺便说一句,我建议使用for link in soup.find_all('a', href=True):
print (link.get('href') +'->' + link.get('title'))
或wikipedia API
功能访问数据。
https://www.mediawiki.org/wiki/API:Main_page
https://en.wikipedia.org/wiki/Special:Export