第三天作业附带

'''爬取豆瓣电影TOP250
第一页:
https://movie.douban.com/top250?start=0&filter=
第二页:
https://movie.douban.com/top250?start=25&filter=
'''
import requests
import re
#拼接电影爬去地址url
num = 0
for line in range(10):
    url = 'https://movie.douban.com/top250?start=%s&filter=' % (num,)
    num += 25
#print(url)
#往拼接好的ulr地址发送请求获取数据
response = requests.get(url)
# print(response.text)  # 获取文本数据
# 3.解析并提取数据
# 电影名称、电影地址、电影评分、评价人数
# re.findall('匹配文本的规则', '匹配的文本', '匹配模式')  # 解析提取文本数据中 想要的数据
#.*?: 过滤不想要的数据,直到想要的数据出现
#  (.*?): 提取想要的数据
# 匹配规则
# <div class="item">.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>
data = re.findall('<div class="item">.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>', response.text, re.S)  # re.S忽略换行
# print(data)
for d in data:
    # print(d)

    url, name, point, count = d

    movie_data = '''
    电影名称: %s
    电影地址: %s
    电影评分: %s
    评价人数: %s
    \n
    ''' % (name, url, point, count)

    print(movie_data)

    # 4.保存数据
    # a: append
    with open('豆瓣.txt', 'a', encoding='utf-8') as f:
        f.write(movie_data)

猜你喜欢

转载自www.cnblogs.com/fage5113/p/11588560.html