通过requests和re两个模块来爬取豆瓣电影TOP250的电影名称:
# coding:utf-8
# 1.导入模块
import requests
import re
# 2.定义url与head
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/127.0.0.0 Safari/537.36"
}
# 3.定义正则表达式,给将要匹配的内容分组,并取名为name
# (?P<name>) 匹配圆括号中的正则表达式并指定一个组,且该组获得名称name
str = r'<div class="hd">.*?<span class="title">(?P<name>.*?)</span>'
# 4.创建一个正则表达式对象
obj = re.compile(str,re.S)
# 定义一个整数来标记url中的start参数
start = 0
# 5.获取html内容
while start <= 250:
params = {
"start": start
}
resp = requests.get(url,headers=headers,params=params)
sourse_code = resp.text
# 6.匹配正则表达式遍历输出
result = obj.finditer(sourse_code)
for i in result:
print(i.group("name")) # 获取(?P<name>)中的内容
start += 25