爬取豆瓣电影排行榜top250最新教程!经典爬虫案例

    书山有路勤为径,学海无涯苦作舟!

        人中苦短我用python,大家好今天给大家分享一下爬取豆瓣电影排行榜top250的最新教程,话不多说,直接上源码!我会在代码中做出详细解释!

爬取豆瓣电影排行榜top250最新教程!经典爬虫案例_第1张图片

         

import requests  #引入请求模块
import re       #正则
import csv      #csv文件存储模块
import time     #时间模块



#伪装请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"
}


#正则解析提取数据方法
obj = re.compile(r'
  • .*?
    .*?(?P.*?)' r'.*?

    .*?
    (?P.*?) .*?' r'(?P.*' r'.*?(?P.*?)人评价', re.S) start = 0 #时间请求自动换页 f = open("data.csv", mode='w') #创建打开csv文件 csvwriter = csv.writer(f) #向文件中写入数据方法 s = 1 proxy = { "https": "175.7.199.68:3256" #代理设置可用可不用 } while True: url = f'https://movie.douban.com/top250?start={start}' #url请求地址,start是用来自动换页的 resp = requests.get(url, headers=headers, proxies=proxy) #模拟浏览器请求页面 page_content = resp.text result = obj.finditer(page_content) #正则解析过滤数据 for i in result: #循环把数据封装成字典 dic = i.groupdict() dic['year'] = dic['year'].strip() csvwriter.writerow(dic.values()) #向文件中写入数据 print(i.group('name')) print('第{}页已完成....'.format(s)) s += 1 time.sleep(1) #睡眠一秒避免请求速度过快 start += 25 #换页方法 if start > 225: #最后一页跳出循环 break f.close() #关闭读写文件 resp.close() #相当于关闭模拟浏览器窗口 print('程序完成自动退出!!!!')

  •  获取到的数据如下图所示(截取部分):

    爬取豆瓣电影排行榜top250最新教程!经典爬虫案例_第2张图片

     

     好了一个简单的爬虫小程序就完成了,大家可以尝试一下,也可以给初学者一个参考!再见!

     

     

    你可能感兴趣的:(Python,爬虫,爬虫实战,爬虫,python,人工智能)