html_string 是字符串类型,它没有.find_all() 方法。
要从指定的 URL 获取信息,可以使用下一个示例:
import requests
import pandas as pd
from bs4 import BeautifulSoup
url = "https://www.cloudtango.org/"
headers = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0"
}
soup = BeautifulSoup(requests.get(url, headers=headers).content, "html.parser")
data1 = soup.find_all("td", {"class": "company"})
full = []
for each in data1:
comp = each.find("img")["alt"]
desc = each.find_next("td").text
dd = {"company": comp, "description": desc}
full.append(dd)
print(pd.DataFrame(full))
打印:
company description
0 BlackPoint IT Services BlackPoint’s comprehensive range of Managed IT Services is designed to help you improve IT quality, efficiency and reliability -and save you up to 50% on IT cost. Providing IT solutions for more …
1 ICC Managed Services The ICC Group is a global and independent IT solutions company, providing a comprehensive, customer focused service to the SME, enterprise and public sector markets. \r\n\r\nICC deliver a full …
2 First Focus First Focus is Australia’s best managed service provider for medium sized organisations. With tens of thousands of end users supported across hundreds of customers, First Focus has the experience …
...and so on.
编辑:从本地文件中读取:
import pandas as pd
from bs4 import BeautifulSoup
with open('your_file.html', 'r') as f_in
soup = BeautifulSoup(f_in.read(), "html.parser")
data1 = soup.find_all("td", {"class": "company"})
full = []
for each in data1:
comp = each.find("img")["alt"]
desc = each.find_next("td").text
dd = {"company": comp, "description": desc}
full.append(dd)
print(pd.DataFrame(full))