Beautiful Soup是一个Python库,用于从HTML或XML文件中提取数据。
它提供了一种简单而灵活的方式来解析和遍历HTML或XML文档,并提供了一些有用的方法来提取所需的数据。
pip install beautifulsoup4
from bs4 import BeautifulSoup
# 从文件中读取HTML文档
with open('example.html', 'r') as f:
html_doc = f.read()
html_doc = 'Hello, World!
'
soup = BeautifulSoup(html_doc, 'html.parser')
# 通过标签名选择元素
title = soup.h1
print(title.text) # 输出元素文本内容
# 通过类名选择元素
paragraphs = soup.find_all('p')
for p in paragraphs:
print(p.text)
# 通过属性选择元素
links = soup.find_all('a', href=<a href="http://example.com" class="underline" target="_blank">Click this URL</a>)
for link in links:
print(link['href'])
URL爬数据,弄两万用户左右,然后还需要follower和following的数量
https://www.personalitycafe.com/members/ .html
保存在csv中
import requests
from bs4 import BeautifulSoup
import csv
url = <a href="https://www.personalitycafe.com/members/" class="underline" target="_blank">Click this URL</a>
response = requests.get(url)
html_doc = response.text
soup = BeautifulSoup(html_doc, 'html.parser')
user_list = soup.find_all('li', class_='member')
data = []
for user in user_list:
username = user.find('a', class_='username').text
follower_count = user.find('dd', class_='follow_count').text
following_count = user.find('dd', class_='following_count').text
data.append([username, follower_count, following_count])
filename = 'user_data.csv'
with open(filename, 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['Username', 'Follower Count', 'Following Count'])
writer.writerows(data)
print(f"数据已保存到 {filename} 文件中。")
这样,爬取到的用户数据将会保存在名为 “user_data.csv” 的CSV文件中,包括用户名、follower数量和following数量。
请注意,根据目标网站的结构和HTML标记,可能需要进一步的调整和修改代码以正确提取所需的数据。
要正确提取所需的数据,需要根据目标网站的结构和HTML标记进行进一步的调整和修改代码。
一些常用的Beautiful Soup操作和技巧
elements = soup.find_all('tag_name')
elements = soup.select('css_selector')
text = element.get_text()
attribute_value = element['attribute_name']