爬取豆瓣电影

豆瓣top250链接:https://movie.douban.com/top250
每25个一页,
第一页url:https://movie.douban.com/top250?start=0&filter=
第二页url:URL变成了https://movie.douban.com/top250?start=50&filter=
以此类推,修改url,start=0,50,100可以验证
这次爬取电影名称

代码如下:

import requests
from bs4 import BeautifulSoupheaders = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.163 Chrome/80.0.3987.163 Safari/537.36',
}def URL_list(): # 构建URL列表urls = []# 根据我们观察到的规律进行构建for i in range(0, 250, 25):url = 'https://movie.douban.com/top250?start=' + str(i)+'&filter='urls.append(url)return urlsdef get_data(url):res = requests.get(url, headers=headers) # 发出请求soup = BeautifulSoup(res.text, 'lxml')return soupdef parse_data(soup, data):# target = soup.select("#content > div > div.article > ol > li > div > div.info > div.hd > a > span:nth-of-type(1)")target = soup.select("#content > div > div.article > ol > li > div > div.info > div.hd > a > span.other")for i in target:data.append(i.get_text())return datadef main():urls = URL_list()data = []for url in urls:soup = get_data(url) # 发起请求parse_data(soup, data)print("---- 豆瓣前250电影 ----")for i in range(len(data)):print("%6s" % (str(i+1)) + "  " + "%25s" % data[i]) #格式化输出
if __name__ == "__main__":main()

结果如下:
re正则表达式提取电影名称、导演、年份
代码:

import re
import requests
from bs4 import BeautifulSoupcount = 1headers = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.163 Chrome/80.0.3987.163 Safari/537.36',
}def URL_list(): # 构建URL列表urls = []# 根据我们观察到的规律进行构建for i in range(0, 250, 25):url = 'https://movie.douban.com/top250?start=' + str(i)+'&filter='urls.append(url)return urlsdef get_data(url):res = requests.get(url, headers=headers) # 发出请求soup = BeautifulSoup(res.text, 'lxml')return soupdef parse_data_all(soup, data):global count# soup = BeautifulSoup(text, 'lxml')film_names = soup.select('#content > div > div.article > ol > li > div > div.info > div.hd > a > span:nth-of-type(1)')film_data = soup.select("#content > div > div.article > ol > li > div > div.info > div.bd > p:nth-of-type(1)")# print(film_data)for (i,j) in zip(film_data, film_names):target = i.get_text()# print(target)director_name = re.search('导演:.*', target).group()[4:-1] # 匹配导演year = re.search('[0-9]{4}', target).group() # 匹配年份# print(j.get_text())film_names = j.get_text()# print('导演:'+director_name)lis = [film_names, director_name.split()[0], year]data[count] = lis# data.append(lis)count += 1def print_data(data):for i in range(1, 251):print(data[i])def main1():urls = URL_list()data = {}for url in urls:text = get_data(url)parse_data_all(text, data)print_data(data)if __name__ == "__main__":main1()

结果:

豆瓣爬取电影top250相关推荐

  1. 小菜鸟的第一个爬虫:豆瓣爬取电影信息

    爬取页面: [2016年国内公映电影排期] #!/usr/bin/env python # -*- coding=utf-8 -*-import urllib.request import re im ...

  2. python自动爬取更新电影网站_Python爬虫之—微信实时爬取电影咨询

    本文将介绍如何使用爬虫在微信对话中实现实时的电影咨询爬取功能,希望和大家一起来分享" 1. 撩妹起源 俗话说的好:少壮不撩妹,长大徒伤悲啊! 说的很对,但是在这个撩妹的时代,要想成功把到妹, ...

  3. python爬取电影信息并插入至MySQL数据库

    在上篇博文中,博主使用python爬取了豆瓣电影的影片信息,接下来,博主考虑到在之前做的JavaWeb电影院项目中需要向数据库中一个个的插入影片数据,十分的繁琐,那么在使用了python爬虫后,这个操 ...

  4. Python,爬取电影天堂,你觉得怎么样?

    一.爬虫的重要性: 如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它 ...

  5. 爬取电影天堂全站电影

    新博客:https://wywwzjj.top/ 具体分析以后再补,静态页面也没啥好分析的. import requests, re from bs4 import BeautifulSoup imp ...

  6. 爬虫实例(re解析):爬取电影排行榜(含全部代码)

    爬虫实例(re解析):爬取电影排行榜 在爬虫之前明确自己的步骤: 一.获取要爬取的网页的源代码(会用到requests库) 二.通过正则解析提取想要的有效信息(要用到re) 三.保存数据(csv) 找 ...

  7. python 爬取_Python爬取电影天堂

    前言: 本文非常浅显易懂,可以说是零基础也可快速掌握.如有疑问,欢迎留言,笔者会第一时间回复.本文代码存于github 一.爬虫的重要性: 如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来 ...

  8. Python 爬取电影天堂top最新电影

    Python爬虫有他无可比拟的优势:语法简单,经常几十行代码就能轻松解决问题,相比于JAVA,C,PHP;第三方库丰富,Python强大而又丰富的第三方库使他几乎可以无所不能.今天我们就来用用Pyth ...

  9. requests+xpath爬取电影天堂电影信息

    电影天地网址:http://www.ygdy8.net/html/gndy/china/list_4_1.html 目标: 1.爬取电影天堂的国内电影一栏的所有电影的url 2.进入每个电影的url获 ...

  10. 爬取电影天堂电影列表和详情页

    爬取电影天堂电影列表和详情页 import requests from lxml import etreebase_list_url = 'https://www.dytt8.net'headers ...

最新文章

  1. csharp: 百度语音合成
  2. Java 注解 --很有趣的一篇文章
  3. SQLServer数据的基本操作:简单的增、删、改、查
  4. C语言ftell()函数(返回文件当前位置)(返回给定流 stream 的当前文件位置)
  5. Web服务之Nginx浅析
  6. windows查看系统版本号
  7. 判断一个数能否同时被3和5整除(信息学奥赛一本通-T1046)
  8. MixGo V1.0 发布,混合型高性能 Go 框架
  9. 洛谷OJ - P2440 - 木材加工(二分答案)
  10. 写在2019年的最后一天,有感而发
  11. mpeg2是信源还是信道编码_11.2、11.3信源及信道编码.ppt
  12. 解决:Data truncation: Data too long for column ‘XXX‘ at row 1
  13. 替换读到的文件中的某一元素 pd 格式
  14. 软考成绩没有等来,等来了“广州引进人才入户管理新规”
  15. java 去除引号_java如何用replaceAll去除字符串中的引号
  16. 使用Python,OpenCV对图像进行亚像素点检测,并拟合椭圆进行绘制
  17. bmi计算 python_python tkinter bmi计算
  18. 一次幸运的校招小米Java后台offer(1),Java面试2021
  19. 他是硅谷最好斗的华人 微软、谷歌、特斯拉都离不开他
  20. Contract Verify and Publish

热门文章

  1. Qt抽奖圆盘(减速效果)
  2. MP3、MP4、MP5、PSP
  3. 韩顺平老师-java集合介绍
  4. NoSQL数据库简介
  5. DB2数据库编目及连接
  6. .config文件相关说明
  7. SiTime 硅晶振抖动定义和测量方法
  8. 程序员需知的 58 个网站
  9. 官方AI语音系统电销机器人系统搭建|AI智能|电话机器人源码|2022最新电销外呼系统《各版本机器人部署》
  10. 机器学习中的数学:微积分与最优化