day02:requests爬取豆瓣电影信息
一、requests爬取豆瓣电影信息 -请求url: https://movie.douban.com/top250 -请求方式: get -请求头: user-agent cookies二、selenium请求库 1、什么是selenium? 起初是一个自动化测试工具,原理是驱动浏览器执行一些一定好操作的操作。 爬虫本质是上就是模拟浏览器,所以可以使用它来做爬虫。 2、为什么要用selenium? 优点: -执行js代码 -不需要分析复杂的通信流程 -可以对浏览器做弹窗,下拉等动作 -***** 可以获取动态数据 -*** 破解登录验证 缺点: -执行效率低 3、安装与使用 1、安装selenium请求库: pip3 install selenium 2、必须安装浏览器 谷歌或者火狐 3、安装浏览器驱动 http://npm.taobao.org/mirrors/chromedriver/2.38/ windows: 下载win32驱动
''' 爬取豆瓣TOP205电影信息:电影名称 电影url 电影导演电影主演 电影年份 电影类型电影评分 电影评论 电影简介1、分析所有主页的url: 第一页: https://movie.douban.com/top250 第二页: https://movie.douban.com/top250?start=25&filter= 第三页: https://movie.douban.com/top250?start=50&filter= ''' import requests import re # 爬虫三部曲 # 1.发送请求 def get_page(url):respones = requests.get(url)# print(respones.text)return respones# 2. 解析数据''' 电影排名、、、<div class="item">.*?<em class="">(>*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演: (.*?)主演: (.*?)<br>(.*?)2</p>.*?<span class="rating_num" .*?">(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span> ''' def parse_index(html):movie_list = re.findall('<div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演: (.*?)主演: (.*?)<br>(.*?)</p>.*?<span class="rating_num" .*?>(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span>',html,re.S)return movie_list # 3. 保存数据 def save_data(movie):top, m_url, name, daoyan, actor, year_type, point, commit, desc = movieyear_type = year_type.strip('\n')data = f'''====== 欢迎尊敬官人观赏=======电影排名:{top}电影url:{m_url}电影名称:{name}导演导演:{daoyan}电影主演:{actor}年份类型:{year_type}电影评分:{point}电影评论:{commit}电影简介:{desc}=======恭送官人======\n'''print(data)with open('douban_top250.text', 'a', encoding='utf-8') as f:f.write(data)print(f'电影:{name} 写入成功,,,')if __name__ == '__main__':num=0for line in range(10):url = f'https://movie.douban.com/top250?start={num}&filter='num += 25print(url)# 1.往每个主页发送请求index_res = get_page(url)# 2.解析主页获取电影信息movie_list = parse_index(index_res.text)for movie in movie_list :print(movie)#3.保存数据save_data(movie)
selenium请求库的使用:
from selenium import webdriver # web驱动 from selenium.webdriver import ActionChains # 破解滑动验证码的时候用的 可以拖动图片 from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR from selenium.webdriver.common.keys import Keys # 键盘按键操作 from selenium.webdriver.support import expected_conditions as EC # 和下面WebDriverWait一起用的 from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素 import time# 方式一:通过驱动打开浏览器 driver = webdriver.Chrome(r'E:\phyon\driver\chromedriver.exe')# 方式二:把webdriver.exe驱动放到 python解释器安装目录/Scripts文件夹中 # python解释器安装到目录Scripts配置环境变量 # python解释器安装到目录,配置环境变量 driver = webdriver.Chrome() try:driver.get('https://www.jd.com/')wait = WebDriverWait(driver, 10)input_tag = wait.until(EC.presence_of_element_located((By.ID, 'key')))time.sleep(5)input_tag.send_keys('公仔')input_tag.send_keys(Keys.ENTER)time.sleep(15) finally:driver.close()
转载于:https://www.cnblogs.com/963989822cmd/p/11124219.html
day02:requests爬取豆瓣电影信息相关推荐
- day02 requests请求库爬取豆瓣电影信息+selenium请求库
一. requests请求库爬取豆瓣电影信息 - 请求url http://movie.douban.com/top250 - 请求方式 GET - 请求头 user-agent cookies ...
- python爬取豆瓣电影信息_Python爬虫入门 | 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- Python3 爬取豆瓣电影信息
原文链接: Python3 爬取豆瓣电影信息 上一篇: python3 爬取电影信息 下一篇: neo4j 查询 豆瓣api https://developers.douban.com/wiki/?t ...
- 小白都能看明白的Python网络爬虫、附上几个实用的爬虫小例子: 爬取豆瓣电影信息和爬取药监局
文章目录 网络爬虫 爬虫的基础知识 爬虫分类 requests模块 爬虫的简单案例 简单的收集器 爬取豆瓣电影信息 爬取药监局 返回数据类型 数据解析 爬取糗事百科图片(正则表达式) xpath解析数 ...
- Python爬虫入门(爬取豆瓣电影信息小结)
Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...
- python爬取豆瓣电影信息可行性分析_Python爬虫实现的根据分类爬取豆瓣电影信息功能示例...
本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 代码的入口:if __name__ == '__main__': main()#! /usr/bin ...
- python爬取豆瓣电影信息
''' 用到的主要知识:(详情见官方文档)1. requests2. BeautifulSoup3. codecs4. os ''' #-*-coding:utf-8 import requests ...
- python爬虫电影信息_Python爬虫入门 | 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
最新文章
- 浅谈Chatbot的架构模型和响应机制
- ActiveRecord使用多数据库
- 原生javascript之实战 轮播图
- 【链接】Linux C/C++ 学习路线-已拿腾讯、百度 offer
- 让电脑清空数据或死机,一定要执行才舒服
- Extjs的文件上传问题
- 接unityads_[蛮牛教程]unity接入unity Ads详细流程
- 使用CyberController来将旧手机改造成电脑外挂------手机交互翻译、人脸解锁、语音识别....各个功能等你来探索
- html页面旋转图标或标签
- a113 智能音箱芯片方案_智能音箱九大芯片方案商及其生产厂商和代表作品介绍...
- Two Birds with One Stone: Series Saliency for Accurate and Interpretable Multivariate Time Series...
- Java中怎么将Long类型转换成Integer或int类型
- 人生于世上有几个知己,多少友谊能长存
- 使用remoting 代替c# web service实现航班eterm命令发送和接收
- 项目管理--关键链方法
- Java类的卸载机制
- [Python从零到壹] 四十.图像处理基础篇之图像量化处理
- webbrowser屏蔽网页弹出框和脚本错误提示框
- mysql 报错“发生系统错误 3.系统找不到指定路径”
- [总结]高效能人士的七个习惯
热门文章
- 服务器可以读u盘文件,服务器向u盘拷贝数据库
- 微型计算机的分类有,微型计算机的分类
- 1.2 函数间隔和几何间隔理解2
- Linux系统关闭或重新启动主机的命令详解
- 市值蒸发4460亿美元、股价下跌10%,苹果泡沫终于来了!
- session.merge 缓存不更新_这几个缓存更新的设计你都知道吗?
- session_unset()和session_destroy()用法分析
- javascript中定义事件的三种方式
- 把远程仓库的项目,clone到eclipse里面
- JS中的prototype、__proto__与constructor(图解)