import requests
import re
import csv
url = "https://movie.douban.com/top250"
header = {
"User-Agent": "在浏览器中找到User-Agent的值复制到此处"
}
resp = requests.get(url, headers=header)
page_content = resp.text
#解析数据,使用正则表达式
obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)'
r'</span>.*?<p class="">.*?<br>(?P<year>.*?) .*?<span'
r' class="rating_num" property="v:average">(?P<score>.*?)'
r'</span>.*?<span>(?P<number>.*?)人评价</span>', re.S)
# 开始匹配
result = obj.finditer(page_content)
f = open("data.csv", 'w', encoding='utf-8')
csvwriter = csv.writer(f)
for it in result:
dict = it.groupdict()
#groupdict():返回一个字典,包含所有经命名的匹配子群,键值是子群名。
dict['year'] = dict['year'].strip()
csvwriter.writerow(dict.values())
f.close()
print("Over!")
resp.close()
一个简单的小爬虫,爬取豆瓣TOP25,用到的东西不多,比较基础的知识。