目标网址:https://movie.douban.com/top250?format=text请求:requests 方式发送请求 解析:re 方式解析数据字段:电影标题、导演、编剧、主演、类型、制片国家/地区、语言、上映时间、片长、别名、评分、评价人数,描述,宣传图片
时间: 2024-09-29 12:08:15 浏览: 43
使用requests库发送GET请求到指定URL `https://movie.douban.com/top250?format=text` 的步骤如下:
```python
import requests
import re
# 发送GET请求
url = "https://movie.douban.com/top250?format=text"
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)
# 检查请求是否成功
if response.status_code == 200:
# 解析响应文本
data = response.text
# 定义正则表达式模式来匹配电影信息字段
patterns = {
'电影标题': r'<span class="title">(.*?)</span>', # 标题
'导演': r'<span property="v:directedBy">(.*)</span>', # 导演
'编剧': r'<span property="v:starring">(.*)</span>', # 编剧
'主演': r'<a href="/name/(.*?)" target="_blank">(.*)</a>', # 主演
'类型': r'<span class="type">(.*?)</span>', # 类型
'制片国家/地区': r'<span property="v:origin">(.*)</span>', # 制片国
'语言': r'<span property="v:spokenLanguage">(.*)</span>', # 语言
'上映时间': r'<time datetime="(.*?)">(.*?)</time>', # 上映日期
'片长': r'<span class="length">(.*?)</span>', # 片长
'别名': r'<span class="alias">(.*?)</span>', # 别名
'评分': r'<span class="rating_num" property="v:average">(\d+\.\d+)</span>', # 评分
'评价人数': r'<span>(.*?)人评价</span>', # 评价人数
'描述': r'<p>(.*?)</p>', # 描述
'宣传图片': r'<img src="(http.*?)".*?>', # 图片链接
}
# 使用正则表达式从字符串中提取信息
extracted_data = {}
for field, pattern in patterns.items():
match = re.search(pattern, data)
if match:
extracted_data[field] = match.group(1) if len(match.groups()) > 1 else match.group()
print(extracted_data)
else:
print("请求失败,状态码:", response.status_code)
阅读全文