Python生成自定义表头Excel
Python生成自定义表头Excel
前言
有个小需求,要生成一个excel,自定义表头那种,忽然想起原来写的扒拉豆瓣电影的脚本。贴上,一看就懂。今天试了一下,发现原来的脚本需要加上header,设置User-Agent,否则读出来页面是空。
用的 pandas ,除了install 开头的三个模块,还需要insatll openpyxl(pandas必需)、lxml(我代码必需)
代码
import requests as rq
from bs4 import BeautifulSoup
import pandas as pd
header = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"
}
def get_data(url):
print(url)
html = rq.get(url, headers=header).content.decode("utf-8")
soup = BeautifulSoup(html,"lxml")
divItems = soup.find_all("div","item")
for item in divItems:
name = item.find('span',{'class':'title'}).text
rating_num = item.find('span',{'class':'rating_num'}).text
number = item.find('em').text
imgUrl = item.find("img").attrs['src']
print("----------->")
print("number:"+number)
numbers.append(number)
print("name:"+name)
names.append(name)
print("rating_num:"+rating_num)
rating_nums.append(rating_num)
print("imgUrl:"+imgUrl)
imgUrls.append(imgUrl)
print("----------->")
data_df = pd.DataFrame()
numbers = []
names = []
rating_nums = []
imgUrls = []
for num in range(0,10):
get_data("={}&filter=".format(int(num)*25))
data_df["序列"] = numbers
data_df["名称"] = names
data_df["评分"] = rating_nums
data_df["海报"] = imgUrls
writer = pd.ExcelWriter('movie_top250.xlsx')
data_df.to_excel(writer, 'page_1', float_format='%.5f') # float_format 控制精度
writer.save()
最新文章
- 如何理解AQS
- KPM算法初步理解
- dubbo优点是什么dubbo有哪些缺点
- jkd环境安装脚本(jdk
- jkd1.8 list.stream()练习
- java jkd8与jdk17的安装与对它们进行切换
- IEEE 公布「AI十大潜力人物」名单,韩松、王威廉、杨迪一、方飞、张含望等入选
- 《中国垒球》:跨界联赛·完美落幕
- 世界棒球经典赛:从WBC走进中国棒球·棒球1号位
- Java后端技术框架
- 【awesome系列】awesome
- CStudioFile文件的输出
- 负载均衡负载场景和解决方案
- 渗透测试类型(白盒测试、黑盒测试)和漏洞扫描器
- php的设计模式和mvc,mvc设计模式是什么
- 数据库的升序降序排列
- 物体检测及分类方法总结
- OpenEXR.cpp:37:19: fatal error: ImfIO.h: 没有那个文件或目录
- 数字图像处理实验目录
- Gradle编译生成不同的版本,动态设定应用标题应用图标替换常量