无法使用漂亮的汤从内部抓取的HTML标签中提取文本

时间:2017-10-14 06:03:50

标签: python web-scraping beautifulsoup urllib

我用来刮取内容的代码

class Scraper(object):
# contains methods to scrape data from curse

def scrape(url):
    req = request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    return request.urlopen(req).read()

def lookup(page, tag, class_name):
    parsed = BeautifulSoup(page, "html.parser")
    return parsed.find_all(tag, class_=class_name)

这将返回一个包含与此

类似的条目的列表
<li class="title"><h4><a href="/addons/wow/world-quest-tracker">World Quest Tracker</a></h4></li>

我试图在href标记之间提取文本,在本例中为

World Quest Tracker

我怎么能做到这一点?

3 个答案:

答案 0 :(得分:0)

html_doc = '<li class="title"><h4><a href="/addons/wow/world-quest-tracker">World Quest Tracker</a></h4></li>'
soup = BeautifulSoup(html_doc, 'html.parser')
print soup.find('a').text

这将打印

  
    

u'World Quest Tracker'

  

答案 1 :(得分:0)

试试这个。

from bs4 import BeautifulSoup

html='''
<li class="title"><h4><a href="/addons/wow/world-quest-tracker">World Quest Tracker</a></h4></li>
'''
soup = BeautifulSoup(html, "lxml")
for item in soup.select(".title"):
    print(item.text)

结果:

World Quest Tracker

答案 2 :(得分:0)

  

我正在尝试在href标签之间提取文本

如果您确实需要href属性中的文字,而不是<a></a>锚包装的文字内容(您的措辞有点不清楚),请使用get('href')

from bs4 import BeautifulSoup

html = '<li class="title"><h4><a href="/addons/wow/world-quest-tracker">World Quest Tracker</a></h4></li>'
soup = BeautifulSoup(html, 'lxml')
soup.find('a').get('href')

'/addons/wow/world-quest-tracker'