首页 > 编程语言 >使用python爬虫爬取数据集保存到csv或者excel中

使用python爬虫爬取数据集保存到csv或者excel中

时间:2022-10-15 16:56:25浏览次数:81  
标签:xlsx python excel list lists 爬取 df import append

准备

下载库

在编写代码时需要使用的python库要提前下载

pip install beautifulsoup4
pip install openpyxl
pip install requests

相关库的文档

openpyxl - 读/写 Excel 2010 xlsx/xlsm 文件的 Python 库
Beautiful Soup 4.4.0 文档

代码

1. 引入

# BeautifulSoup可以解析html与xml格式的文件
from bs4 import BeautifulSoup
# requests用来获取与发送网络请求
import requests
# openpyxl用来读写excel或者csv格式文件
from openpyxl import Workbook

2. 通过requests库将网页爬取

# 所要爬取的网页
url = "https://ssr1.scrape.center/page/"
# 请求头文件
header={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
# 获取网页请求返回信息
response = requests.get(url+str(pageInd),headers=header)
# 使用BeautifulSoup解析html
soup = BeautifulSoup(response.text,'html.parser')

3. 通过bs4获取所需内容

lists = soup.find_all("h2",class_="m-b-sm")
sorce_lists = soup.find_all("p",class_='score m-t-md m-b-n-sm')
# list = lists.find("div",class_="m-b-sm")
# print(type(lists))
for list in lists:
	# 将获取的内容添加到数组中.strip()用来去除无效字符
	nameList.append(list.string.strip())
	# print(list.string)
for list in sorce_lists:
	sorceList.append(list.string.strip())
	# print(list.string)

4. 通过openpyxl保存文件信息

from openpyxl import Workbook
# 实例化
wb = Workbook()
# 激活 worksheet
ws = wb.active
# 添加一行数据
ws.append(nameList)
ws.append(sorceList)
# 保存文件
wb.save("temp.xlsx")

5. 使用pandas转为列格式

import pandas as pd

df = pd.read_excel('temp.xlsx',index=False)  # 读取需要转置的文件
df = df.T  # 转置
# df.to_excel('abc.xlsx',header=False)  # 另存为xlsx文件,但是第一列会加粗
df.to_csv('abc.csv',header=False)  # 另存为csv文件

完整代码


import pandas as pd
from bs4 import BeautifulSoup
import requests
from openpyxl import Workbook

url = "https://ssr1.scrape.center/page/"

header={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}

wb = Workbook()
ws = wb.active

pageInd=0
nameList = []
nameList.append('Name')
sorceList = []
sorceList.append('Sorce')
for i in range(10):
    pageInd = pageInd+1
    response = requests.get(url+str(pageInd),headers=header)
    #==================================================
    soup = BeautifulSoup(response.text,'html.parser')
    lists = soup.find_all("h2",class_="m-b-sm")
    sorce_lists = soup.find_all("p",class_='score m-t-md m-b-n-sm')
    # list = lists.find("div",class_="m-b-sm")
    # print(type(lists))
    for list in lists:
        nameList.append(list.string.strip())
        # print(list.string)
    for list in sorce_lists:
        sorceList.append(list.string.strip())
        # print(list.string)


ws.append(nameList)
ws.append(sorceList)
# ws['B'].append(sorceList)
wb.save("temp.xlsx")


df = pd.read_excel('temp.xlsx',index=False)  # 读取需要转置的文件
df = df.T  # 转置
# df.to_excel('abc.xlsx',header=False)  # 另存为xlsx文件
df.to_csv('abc.csv',header=False)  # 另存为csv文件

标签:xlsx,python,excel,list,lists,爬取,df,import,append
From: https://www.cnblogs.com/java-six/p/16794503.html

相关文章

  • 【python】18行代码带你采集国外网小姐姐绝美图片
    前言嗨喽~大家好呀,这里是魔王呐!  我又来更新小姐姐网站,批量采集得办法拉~让我们一起来学习吧~开发环境:Python3.8Pycharm模块使用:第三方模块需要安装......
  • python+selenium+opencv验证滑块
    我们在使用selenium爬虫的时候在登录时经常会遇到滑块验证码问题,导致登录受阻,正所谓万事开头难。登录就登录不进去更别提往后的操作的。今天以登录京东后台来演示下如何破......
  • python学习:获取指定目录下所有文件名os.walk和os.listdir
    1.os.walk返回指定路径下所有文件和子文件夹中所有文件列表其中文件夹下路径如下:importosdeffile_name_walk(file_dir):forroot,dirs,filesinos.walk(f......
  • springboot导出数据到Excel表格,使用EasyExcel
    1.导入依赖导出方法需要使用到fastJson的依赖,这里也直接导入点击查看代码<!--阿里的easyexcel--><dependency><groupId>com.alibaba</groupId>......
  • Excel导入数据异常Cannot get a text value from a numeric cell解决办法
    POI操作Excel时偶尔会出现Cannotgetatextvaluefromanumericcell的异常错误。异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串......
  • python中sort()函数跟sorted()函数的用法及区别
    一、描述sorted()函数是用来对某个对象进行排序操作的函数sorted()函数与sort()函数的区别是:sort只能用于列表对象(list),而sorted可以对所有可迭代对象进行排序。sort......
  • Python初学学习笔记
    本篇为新生实践课所留作业的学习笔记,记录我尚不熟悉的Python知识刷题页面  1.保留字即关键字,是Python语言中内部使用的单词,代表一定语义。例如:and、class、if、el......
  • python烟花代码
    python烟花代码 如下#-*-coding:utf-8-*-importmath,random,timeimportthreadingimporttkinterastkimportre#importuuidFireworks=[]maxFirewor......
  • Python库-pandas详解
    1.pandas介绍 pandas是用于数据挖掘的Python库 便捷的数据处理能力独特的数据结构读取文件方便封装了matplotlib的画图和numpy的计算pandas的数据结构Ser......
  • Python简单爬虫
    对大佬的有些修改,用大佬的编码转换那里老是出问题这个亲测可以#-*-coding:utf-8-*-importrequestsimportparselurl=""#小说网站response=requests.get(url)respo......