Python爬虫攻略:数据爬取与清洗实践 在当今互联网时代,数据是企业和个人不可或缺的重要资源,数据爬取成为越来越普遍的需求。Python拥有丰富的爬虫库,使得爬虫开发变得简单快捷。 本文将介绍Python爬虫基础知识、数据爬取与清洗实践,并以实例演示。 1、Python爬虫基础知识 爬虫是一种程序,它能够模拟浏览器行为,访问指定URL并获取数据。Python中常用的爬虫库有:requests、beautifulsoup4、selenium、pandas、numpy等。 requests库是Python中最常用的HTTP库,可以发送HTTP网络请求,获取网络数据,支持cookies、SSL、数据上传等功能。 beautifulsoup4库可以方便地从HTML网页中提取数据。使用beautifulsoup4库可以根据标签、属性、文本等条件来查找网页元素。 selenium库可以模仿浏览器行为,自动化控制浏览器进行网页抓取,支持多种浏览器。 pandas、numpy库是处理数据的常用库,可以对数据进行读取、清洗、分析、可视化等操作。 2、数据爬取实践 数据爬取是指从网络上获取数据的过程,下面以爬取豆瓣电影数据为例说明。 (1)导入爬虫库 首先需要导入requests和beautifulsoup4库: import requests from bs4 import BeautifulSoup (2)发送HTTP请求 使用requests库发送HTTP请求,获取页面HTML代码: #发送请求 url = 'https://movie.douban.com/top250' headers = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5)\ AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36' } response = requests.get(url=url,headers=headers) soup = BeautifulSoup(response.text, 'html.parser') (3)解析HTML代码 使用beautifulsoup4库解析HTML代码,获取需要的信息: movie_list = soup.find_all('div',class_='hd') for movie in movie_list: movie_name = movie.find_all('span', class_='title')[0].string print(movie_name) (4)保存数据 将获取的数据保存为Excel文件: import pandas as pd movie_names = [] movie_list = soup.find_all('div',class_='hd') for movie in movie_list: movie_name = movie.find_all('span', class_='title')[0].string movie_names.append(movie_name) df = pd.DataFrame({'电影名称':movie_names}) df.to_excel('douban_top250.xlsx') 3、数据清洗实践 数据清洗是指对原始数据进行加工处理,以满足需求和规范。 (1)导入库 首先需要导入pandas库: import pandas as pd (2)读取数据 读取Excel文件中的数据: df = pd.read_excel('douban_top250.xlsx') (3)清洗数据 对电影名称中的重复数据进行去重: df.drop_duplicates(subset=['电影名称'],keep='first',inplace=True) (4)保存数据 保存清洗后的数据: df.to_excel('douban_top250_cleaned.xlsx') 结语 本文介绍了Python爬虫基础知识、数据爬取与清洗实践,并以爬取豆瓣电影数据为例进行演示。Python爬虫可以快速、简便地获取互联网上的数据,为企业和个人提供了更多的数据资源。