爬虫编程简介
爬虫编程,顾名思义,就是编写程序去“爬取”互联网上的信息。随着互联网的快速发展,爬虫技术在数据获取、信息处理等方面发挥着越来越重要的作用。对于小白来说,掌握爬虫编程不仅能够拓宽知识面,还能为将来的职业发展打下坚实的基础。
爬虫编程基础知识
1. 网络请求
爬虫编程的基础是网络请求,Python中常用的库有requests和urllib。以下是一个使用requests库发起GET请求的示例代码:
import requests
url = "http://www.example.com"
response = requests.get(url)
print(response.text)
2. HTML解析
获取网页内容后,需要对HTML进行解析,提取所需信息。Python中常用的库有BeautifulSoup和lxml。以下是一个使用BeautifulSoup解析HTML的示例代码:
from bs4 import BeautifulSoup
html = """
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
"""
soup = BeautifulSoup(html, "html.parser")
print(soup.title.string)
3. 数据存储
爬取到的数据需要存储,常用的存储方式有文件存储、数据库存储等。以下是一个将数据存储到CSV文件的示例代码:
import csv
data = [
{"name": "张三", "age": 20},
{"name": "李四", "age": 22}
]
with open("data.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=["name", "age"])
writer.writeheader()
writer.writerows(data)
实战项目:爬取豆瓣电影排行榜
下面以爬取豆瓣电影排行榜为例,展示如何将所学知识应用到实战项目中。
1. 分析目标网站
首先,我们需要分析目标网站的结构。以豆瓣电影排行榜为例,其URL为https://movie.douban.com/top250。
2. 编写爬虫代码
接下来,我们编写爬虫代码,实现数据爬取。以下是一个使用requests和BeautifulSoup库爬取豆瓣电影排行榜的示例代码:
import requests
from bs4 import BeautifulSoup
url = "https://movie.douban.com/top250"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
movies = []
for movie in soup.find_all("div", class_="item"):
title = movie.find("span", class_="title").text
info = movie.find("p", class_="pl").text
rating = movie.find("span", class_="rating_num").text
movies.append({"title": title, "info": info, "rating": rating})
# 将数据存储到CSV文件
with open("douban_movies.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=["title", "info", "rating"])
writer.writeheader()
writer.writerows(movies)
3. 运行爬虫
运行上述代码,即可爬取豆瓣电影排行榜数据,并将结果存储到CSV文件中。
总结
通过本文的学习,小白们可以了解到爬虫编程的基本知识,并通过实战项目掌握爬虫编程的技能。希望本文能够帮助大家快速入门爬虫编程,为未来的学习和工作打下坚实的基础。