文章目录
- 安装requests
- 安装BeautifulSoup4
- text函数
- 数据存储
- Excel操作
- 操作Excel依赖安装
- CSV文件操作
安装requests
pip install requests
安装BeautifulSoup4
pip install BeautifulSoup4
示例:
res = requests.get(url,headers=headers)
if res.status_code == 200:
bs = bs4.BeautifulSoup(res.text,'html.parser')
# print(bs)
movieItems = bs.find_all('div',class_='item')
# print(movieItems[0])
for movie in movieItems:
# 获取序号、链接、图片
tag_pic = movie.find('div',class_='pic')
num = tag_pic.find('em').text
url = tag_pic.find('a')['href']
img = tag_pic.find('img')['src']
print('序号:'+num+';链接:'+url+';图片:'+img)
#获取标题
title = movie.find('span',class_='title').text
print('标题:' + title)
#获取导演主演
mainActor = movie.find('div',class_='bd')
# print(mainActor)
actor = mainActor.find('p',class_='').text
print('电影导主演:'+actor.strip())
#获取评分
score = movie.find('span',class_='rating_num').text
print('评分:'+score)
text函数
text获取到的是该标签内的纯文本信息,即便是在它的子标签内,也能拿得到。但提取属性的值,只能提取该标签本身的
from bs4 import BeautifulSoup
bs = BeautifulSoup('<p><a>惟有痴情难学佛</a>独无媚骨不如人</p>','html.parser')
tag = bs.find('p')
print(tag.text)
输出:
惟有痴情难学佛独无媚骨不如人
数据存储
Excel操作
操作Excel依赖安装
openpyxl官网:https://openpyxl.readthedocs.io/en/stable/
pip install openpyxl
写Excel示例
import openpyxl
# 利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的空的Excel文件
wb = openpyxl.Workbook()
# wb.active 获取工作簿的活动表,通常就是第一个工作表
sheet = wb.active
# 可以用.title给工作表重命名。现在第一个工作表名称会由原来默认的'sheet1'改为'new title'
sheet.title = 'new title'
# sheet['A1'] = '漫威宇宙'
# row = ['美国队长','钢铁侠','蜘蛛侠']
# sheet.append(row)
# 声明每行的内容
rows = [['美国队长','钢铁侠','蜘蛛侠'],['是','漫威','宇宙','经典','人物']]
#遍历进行添加
for i in rows:
sheet.append(i)
#进行文件保存
wb.save('D://Marver.xlsx')
读Excel示例
import openpyxl
# 读取本地文件
wb = openpyxl.load_workbook('D://Marver.xlsx')
sheet = wb['new title']
sheetName = wb.sheetnames
print(sheetName)
A1_cell = sheet['A1']
A1_value = A1_cell.value
print(A1_value)
CSV文件操作
csv为python内置,不需要进行安装
csv官网:
https://yiyibooks.cn/xx/python_352/library/csv.html#module-csv
写示例
import csv
# 调用open()函数打开csv文件,传入参数:文件名、写入模式、内容、编码
csv_file = open('D://demo.csv','w',newline='',encoding='utf-8')
# 用csv.writer()函数创建一个writer对象
writer = csv.writer(csv_file)
# 写入内容
writer.writerow(['电影','豆瓣评分'])
writer.writerow(['银河护卫队','8.0'])
writer.writerow(['复仇者联盟','8.1'])
#写入完成后,关闭文件
csv_file.close()
读示例
import csv
#读入csv文件
csv_file = open('D://demo.csv','r',newline='',encoding='utf-8')
# 读入流
reader = csv.reader(csv_file)
# 遍历读取
for row in reader:
print(row)
# 关闭文件
csv_file.close()