urllib3、re、json 爬取排名、图片、电影名称、主演、上映日期、得分等,存储到top100.txt文件中
时间: 2023-10-14 15:05:06 浏览: 110
好的,您需要使用 Python 编写爬虫程序,使用 urllib3 库进行网页请求,使用 re 库进行网页内容的正则匹配,使用 json 库对匹配到的数据进行处理,最后将处理后的数据存储到 top100.txt 文件中。
以下是示例代码:
```python
import urllib3
import re
import json
# 创建 urllib3.PoolManager 对象
http = urllib3.PoolManager()
# 定义目标网页 URL
url = 'https://movie.douban.com/top250'
# 发送 HTTP 请求,获取网页内容
response = http.request('GET', url)
html_content = response.data.decode('utf-8')
# 使用正则表达式匹配电影信息
pattern = r'<li>.*?<em class="">' \
r'(?P<rank>\d+)</em>.*?' \
r'<img.*?src="(?P<image>.*?)".*?>.*?' \
r'<span.*?class="title">(.*?)</span>.*?' \
r'<p.*?class="">.*?<br>(?P<actors>.*?) .*?' \
r'<span.*?class="rating_num" property="v:average">' \
r'(?P<score>.*?)</span>.*?' \
r'<span.*?class="inq">(.*?)</span>.*?</li>'
matches = re.finditer(pattern, html_content, re.S)
# 遍历匹配结果,构造电影字典,并将所有电影保存到列表中
movies = []
for match in matches:
movie_dict = match.groupdict()
movie_dict['actors'] = movie_dict['actors'].strip()
movies.append(movie_dict)
# 将电影列表保存到 top100.txt 文件中
with open('top100.txt', 'w', encoding='utf-8') as f:
f.write(json.dumps(movies, ensure_ascii=False, indent=4))
```
该程序会爬取豆瓣电影 Top 250 网页,并使用正则表达式从网页内容中提取出电影排名、图片 URL、电影名称、主演、得分和简评等信息,最后将所有电影信息以 JSON 格式保存到 top100.txt 文件中。
阅读全文
相关推荐
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)