[英]Scraping particular data from a website using Beautiful soup
我試圖從這 url https://tabs.ultimate-guitar.com/tab/jason-mraz/im-yours-chords-373896中只刮出一首歌的吉他和弦並簡單地打印出來。
但是在打印出來時我沒有得到任何 output 。 我在這里做錯了什么? 下面是我的代碼。
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)
您需要安裝selenium
和chromedriver
使用 selenium 獲得 html,然后像平常一樣使用 bs4 執行 rest
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)
Output:
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.