使用Beautiful汤从网站上删除特定数据



我正试图从这个url中只抓取一首歌的吉他和弦https://tabs.ultimate-guitar.com/tab/jason-mraz/im-yours-chords-373896只需打印即可。

但我在打印时没有得到任何输出。我在这里做错了什么?下面是我的代码。

import requests
from bs4 import BeautifulSoup

url = 'https://tabs.ultimate-guitar.com/tab/jason-mraz/im-yours-chords-373896'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/87.0.4280.88 Safari/537.36'
}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')
results = soup.find("div", {"class": "_4cjjy"})
links = results.findAll("header", {"class": "_2jxI1"})
for item in links:
print("Chords: ", item)

您需要安装seleniumchromedriver

使用selenium获取html,然后使用bs4 正常执行其余操作

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = 'https://tabs.ultimate-guitar.com/tab/jason-mraz/im-yours-chords-373896'
BrowserOptions = Options()
BrowserOptions.add_argument("--headless")
Browser = webdriver.Chrome(executable_path=r'chromedriver.exe',options=BrowserOptions)
Browser.get(url)
html_source_code = Browser.execute_script("return document.body.innerHTML;")
soup = BeautifulSoup(html_source_code, 'html.parser')
links = soup.findAll("span",class_= "_3bHP1 _3ffP6")
for item in links:
print("Chords: ", item.text)

输出:

Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  A7
Chords:  G
Chords:  D
Chords:  Dsus4
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  G
Chords:  D
Chords:  Em
Chords:  D
Chords:  C
Chords:  A7
Chords:  G
Chords:  Bm
Chords:  Em
Chords:  D
Chords:  C
Chords:  A7
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Dsus4
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  D
Chords:  Em
Chords:  C
Chords:  G
Chords:  D
Chords:  Dsus4
Chords:  Em
Chords:  C
Chords:  A7

示例HTML代码

<span class="_3bHP1 _3ffP6" data-name="G" style="color: rgb(0, 0, 0);">G</span>

最新更新