匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python爬虫攻略:数据爬取与清洗实践

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爬虫可以快速、简便地获取互联网上的数据,为企业和个人提供了更多的数据资源。