【无标题】爬取豆瓣“热门电影”数据

该代码实现从豆瓣网站爬取热门电影的ID、电影名和评分,并将数据存储到CSV文件中。程序通过requests库发送HTTP请求,使用正则表达式解析HTML内容,然后使用csv模块写入数据。为了避免IP被封禁,可以考虑使用代理IP或设置延时进行爬取。
摘要由CSDN通过智能技术生成

爬取豆瓣“热门电影”数据:ID,电影名,评分

写入CSV文件

 

上代码:

import requests

import re

import csv

def getting(url):

    resp = requests.get(url,headers=header)

    resp.encoding = 'utf-8'

    #print(resp.status_code)

    #print(type(resp))

    return resp


 

def info_r(resp):

    obj_id = re.compile(r'rate":"(?P<sore>.*?)".*?title":"(?P<name>.*?)".*?id":"(?P<id>.*?)","cover_y',re.S)

    result = obj_id.findall(resp.text)

    return result     ##这是个列表

   

ef writing(list):

    for i in list:

        with open("movie_list.csv","a+") as f:

            writer = csv.writer(f)

            writer.writerow(i)

def main():

    result_0 =[]

    ###豆瓣热门电影主网页0-20-40

    for i in range(0,101,20):

        url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E8%B1%86%E7%93%A3%E9%AB%98%E5%88%86&sort=recommend&page_limit=20&page_start="   ##F12的network找到的XHR文件

        url = url + str(i)

        #url = f"https://movie.douban.com/explore#!type=movie&tag=%E8%B1%86%E7%93%A3%E9%AB%98%E5%88%86&sort=recommend&page_limit=20&page_start={i}" for i in range(0,101,20)

        resp = getting(url)

        print(type(resp.text))

        result = info_r(resp)

        for l in result:

            result_0.append(l)

    # print(result_0)

    # print("列表长度:" + str(len(result_0)))

    writing(result_0)


 

if __name__ =='__main__':

    header = {

        "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36"

    }

    main()

计划把豆瓣电影的电影都爬一遍,怕把我的IP的直接拉黑,以后没得玩了。除了代理IP,慢慢爬数据可以吗?

我的CSV文件不知道为什么都隔了一行,我还得再调调。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值