运行后 导出到data.csv文件内
看着教程写的,有很多地方还需要优化,运用了re模块和requests模块
# coding:utf-8
# 1.首先拿到页面源代码
# 2.通过 re模块 来进一步提取信息
import requests
import re
import csv # 数据分析
for i in range(0, 10):
url = "https://movie.douban.com/top250?start="+str(i*25)
ua = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68"
}
resp = requests.get(url, headers=ua)
page_content = resp.text
# 解析数据
obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)</span>.*?<br>'
r'(?P<year>.*?) .*?<span class="rating_num" property="v:average">'
r'(?P<pingfen>.*?)</span>.*?<span>(?P<pingjia>.*?)</span>', re.S)
result = obj.finditer(page_content)
f = (open("data.csv", mode="a"))
csvwriter = csv.writer(f)
for it in result:
# print(it.group("name"))
# print(it.group("year").strip())
# print(it.group("pingfen"))
# print(it.group("pingjia"))
dit = it.groupdict()
dit['year'] = dit['year'].strip()
csvwriter.writerow(dit.values())
f.close()
print("over")