爬取豆瓣电影排名Top250
一、爬虫四大步骤:
1.获取页面源代码
2.获取标签
3.正则表达式
4.输出数据
二、源代码:
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/80.0.3987.132 Safari/537.36','Host':'movie.douban.com'}
# 从网页获取数据
r = requests.get(url,headers = headers)
# 解析获得的网页数据
soup = BeautifulSoup(r.text,"html.parser")
# 初始化一个列表,用来存放电影的名字
movie_list = []
# 定位需要的内容
m_list = soup.findAll("div", {'class': 'hd'})
# 遍历m_list
for m in m_list:
movie = m.a.span.text #解析得到我们需要的电影的名字
movie_list.append(movie) # 将电影的名字添加到列表中
# 换行输出
for i in movie_list:
print(i)
三、详细说明
编写爬虫的库有很多,本文只需要用到两个:requests 和 BeautifulSoup4;
1. 获取整个网页的数据:r是requests的Response回复对象,从中可以获取需要的信息,r.text是网页内容。
# 从网页获取数据
r = requests.get(url,headers = headers)
使用requests的headers可以伪装成浏览器访问获取页面源代码;
2.获取标签,通过BeautifulSoup进一步解析页面源代码,并且通过标签定位需要的内容
# 解析获得的网页数据
soup = BeautifulSoup(r.text,"html.parser")
# 定位需要的内容
m_list = soup.findAll("div", {'class': 'hd'})
3.正则表达式
本文分析情况比较简单,并未使用正则表达式;
4.输出数据,将得到的数据输出。同样可以保存到数据库或者写入文件。
运行环境:Python 3.7
参考地址: