我用来刮取内容的代码
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
我怎么能做到这一点?
答案 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'