大石桥做网站,长春seo排名外包,网站建设 爱诚科技,代理公司注册协议书目录 资源链接
一、网站选择
二、数据爬取要求
三、数据清洗要求
四、实现代码
1.数据采集
2.数据清洗 资源链接
下面有笔者所放的源码下载链接#xff0c;读者可自行下载#xff1a;
链接#xff1a;https://pan.baidu.com/s/1YmTdlnbSJLvLrrx92zz6Qg 提取码…目录 资源链接
一、网站选择
二、数据爬取要求
三、数据清洗要求
四、实现代码
1.数据采集
2.数据清洗 资源链接
下面有笔者所放的源码下载链接读者可自行下载
链接https://pan.baidu.com/s/1YmTdlnbSJLvLrrx92zz6Qg 提取码wkk6
一、网站选择
scrapy官方提供的网站Quotes to Scrape
二、数据爬取要求
使用requests库获取1-10页的名人名言页面获取名人名言和作者两项信息结果存放到“名人名言.csv”文件中并将文件保存在data目录下如果目录不存在则先创建目录.
三、数据清洗要求
读取“名人名言.csv”数据列名为“名言”和“姓名”删除数据项为空的数据删除重复数据增加“时间”列数据为“2023-06”,结果存放到“清洗结果.csv”中保存在data目录。
四、实现代码
1.数据采集
import requests # 导入用于发送HTTP请求的库
from bs4 import BeautifulSoup # 导入用于解析HTML的库
import csv # 导入用于处理CSV文件的库
import os # 导入用于进行操作系统相关操作的库# 定义函数 get_html用于获取网页内容
def get_html(url, time10):try:# 发送HTTP GET请求re requests.get(url, timeouttime)# 设置编码re.encoding re.apparent_encoding# 如果请求返回状态码不是200抛出异常re.raise_for_status()return re.text # 返回网页内容except Exception as error:print(error) # 输出错误信息# 定义函数 parser用于解析HTML内容并提取数据
def parser(html):soup BeautifulSoup(html, lxml) # 使用BeautifulSoup解析HTMLout_list [] # 初始化存储结果的列表# 遍历所有符合条件的元素for row in soup.select(.quote):text row.select_one(.text).get_text(stripTrue) # 提取名言文本author row.select_one(.author).get_text(stripTrue) # 提取作者名字out_list.append([text, author]) # 将结果添加到列表return out_list # 返回结果列表# 定义函数 save_csv用于将数据保存到CSV文件中
def save_csv(item, path):directory os.path.dirname(path) # 获取文件目录路径if not os.path.exists(directory): # 如果目录不存在os.makedirs(directory) # 创建目录# 以追加模式a打开CSV文件with open(path, a, newline, encodingutf-8) as f:csv_write csv.writer(f) # 创建CSV写入对象csv_write.writerows(item) # 写入数据# 主程序
if __name__ __main__:# 遍历前10页for i in range(1, 11):url http://quotes.toscrape.com/page/{0}/.format(i) # 构造URLhtml get_html(url) # 获取HTML内容out_list parser(html) # 解析HTML并提取数据save_csv(out_list, data/名人名言.csv) # 保存数据到CSV文件print(名人名言已保存到:data/名人名言.csv) # 输出提示信息代码解释
从一个名言网站 http://quotes.toscrape.com/ 爬取名言数据并保存到本地的 CSV 文件中 导入必要的库 requests 用于发送HTTP请求BeautifulSoup 用于解析HTMLcsv 用于处理CSV文件os 用于处理文件和目录 定义 get_html 函数 接受一个URL和超时时间参数发送GET请求获取网页内容请求成功则返回网页内容否则打印错误信息 定义 parser 函数 接受HTML内容使用BeautifulSoup解析HTML从HTML中提取包含名言和作者信息的元素存储在一个列表中并返回 定义 save_csv 函数 接受要保存的数据和目标文件路径检查并创建存储目录如果不存在以追加模式打开CSV文件将数据写入文件 主程序执行部分 遍历前10页构造每个页面的URL获取每个页面的HTML内容解析并提取数据将提取的数据保存到指定的CSV文件中 输出提示信息 程序结束后输出提示信息告知数据已保存到特定位置
2.数据清洗
import pandas as pd # 导入用于数据处理的Pandas库# 定义函数 clean_data用于清洗数据
def clean_data(input_path, output_path):# 读取CSV文件并指定列名为名言和姓名不使用文件的头部信息作为列名df pd.read_csv(input_path, names[名言, 姓名], headerNone, encodingutf-8)# 删除包含缺失值的行df.dropna(inplaceTrue)# 删除重复的行df.drop_duplicates(inplaceTrue)# 添加新列时间赋值为固定时间2023-06df[时间] 2023-06# 将处理后的数据保存到CSV文件中不保存索引信息df.to_csv(output_path, indexFalse, encodingutf-8)# 主程序执行部分
if __name__ __main__:input_file data/名人名言.csv # 输入文件路径output_file data/清洗结果.csv # 输出文件路径clean_data(input_file, output_file) # 调用clean_data函数进行数据清洗print(清洗后的数据已保存到data/清洗结果.csv) # 输出提示信息代码解释
对输入的CSV文件进行处理后保存为新的CSV文件。 导入必要的库 pandas 用于数据处理 定义 clean_data 函数 该函数接受输入文件路径和输出文件路径作为参数使用Pandas读取CSV文件指定列名为名言和姓名不使用文件头部信息作为列名删除包含缺失值的行和重复行添加新列时间所有行的值都设为2023-06将清洗后的数据保存到输出文件中不保存索引信息 主程序执行部分 指定输入文件和输出文件的路径调用 clean_data 函数对数据进行清洗操作输出提示信息告知清洗后的数据已保存到特定位置