<新手>python爬取豆瓣top250的名字,年代,评分,评价

运行后 导出到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>.*?)&nbsp.*?<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")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值