1 回答
TA贡献1802条经验 获得超5个赞
我创建了 2 个数组来存储 2 种不同类型的抓取数据。 pandas.DataFrame()将创建一个数据框对象并将pandas.to_csv()数据框对象发送到 .csv 文件。
这可能不是最有效的代码,但它可以工作
import requests
from bs4 import BeautifulSoup
import pandas as pd
URL = 'https://mychesterfieldschools.com/mams/news-and-announcements/'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
results = soup.find_all('div', class_='col-sm-12 col-md-12')
// declaring the 2 arrays for storing your scraped data
text = []
a_tags = []
for results in results:
body = results.find('p')
link = results.find('a')
a = body.text
b = link
print(a) // prints the text (data type string)
print(b) // prints the tag (data type bs4.element.Tag object)
// store the text in text array
text.append(a)
// convert the tags to string and store in a_tags array
a_tags.append(str(b))
// prints the saved arrays
print("text : ", text)
print("tags : ", a_tags)
// creates a pandas dataframe object of the above 2 arrays
df = pd.DataFrame(
{
"Text": text,
"A_tags": a_tags
}
)
// converts to csv
df.to_csv("data.csv", index=False, encoding="utf-8")
输出data.csv
文件出现在与 python 脚本相同的目录中。
这是 csv 在 Microsoft Office Excel 上的显示方式:
添加回答
举报