Day 02 第二天课时总结

requests请求库爬取豆瓣电影信息

    - 请求url

        https://movie.douban.com/top250

 

    - 请求方式

        GET

 

    - 请求头

        user-agent

        cookies

import requests
import re
def get_page(url):
response = requests.get(url)
return response
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
def save_data(movie):
top, m_url, name, daoyan, actor, year_type,\
point, commit, desc = movie
year_type = year_type.strip('\n')
data=f'''
==============欢迎尊敬的官人观赏===============
电影排名:{top}
电影url:{m_url}
电影名称:{name}
电影导演:{daoyan}
电影主演:{actor}
年份类型:{year_type}
电影评分:{point}
电影评价:{commit}
电影简介:{desc}
================请官人下次再来哟================
\n
\b
'''
print(data)
with open('douban_top250.text','a',encoding='utf-8') as f:
f.write(data)
print(f'电影:{name} 写入成功。。。')
if __name__ == '__main__':
num=0
for line in range(10):
url = f'htt=://movie.douban.com/top250?start={num}&filter='
num+=25
print(url)
index_res = get_page(url)
movie_list = parse_index(index_res.text)
for movie in movie_list:
save_data(movie)


selenium请求库

    1、什么是selenium

        期初是一个自动化测试工具,原理是驱动

        浏览器执行一些一定好的操作。爬虫本质

        上就是模拟浏览器,所以可以使用它来做爬虫。

 

    2、为什么要使用selenium

        优点:

            - 执行js代码

            - 不需要分析复杂的通信流程

            - 对浏览器做弹窗、下拉等操作

            - ***** 获取动态数据

            - *** 破解登录验证

 

        缺点:

            - 执行效率低

 

    3、安装与使用

        1. 安装selenium请求库:

            pip3 install selenium

 

        2. 必须安装浏览器

            "谷歌"或者火狐

 

        3.安装浏览器驱动

            http://npm.taobao.org/mirrors/chromedriver/2.38/

            windows:

                下载win32驱动

转载于:https://www.cnblogs.com/xtx642/p/11121729.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广播、组播、点播的区别

原网站:https://blog.csdn.net/z502521809/article/details/53007932 今天学习的时候发现了广播、组播、点播这三个用来描述网络节点之间通讯方式的术语&#xff0c;那么这几种“播”到底有什么区别&#xff1f;于是乎百度总结了一下。 ----------------------------------点播…

函数的加减乘除:

<script type"text/javascript">//函数的加法 function add(a,b) {return ab; } document.write(add(6,5))</script><script type"text/javascript">//函数的减法 function reduction(a,b) {return a-b; …

Arm架构下VUE环境的安装

最近因为项目需要在arm环境下搭建vue环境&#xff0c;网上有基于Linux的 教程&#xff0c;路径略有不同&#xff0c;现整理如下 1、安装文件下载 1、下载地址&#xff1a;http://nodejs.cn/download/ 2、选择一个合适的版本下载 2、安装步骤 1、将安装包上传到指定位置(我习惯放…

网络安全技术之端口隔离

端口隔离技术是一种实现在客户端的端口间的足够的隔离度以保证一个客户端不会收到另外一个客户端的流量的技术。通过端口隔离技术&#xff0c;用户可以将需要进行控制的端口加入到一个隔离组中&#xff0c;实现隔离组中的端口之间二层、三层数据的隔离&#xff0c;既增强了网络…

Javascript启动LINUX的x86模拟器

老外真是NB。我无话可说了。 http://bellard.org/jslinux/tech.html转载于:https://www.cnblogs.com/noevil/archive/2012/02/26/2369237.html

python解释器、pycharm安装及环境变量配置

python解释器、pycharm安装及环境变量配置 1.python解释器安装 下载地址&#xff1a;https://www.python.org/ 打开官网&#xff0c;点击downloads,选择操作系统&#xff0c;以windows为例&#xff1a; 选择python2与python3解释器版本&#xff08;以python3.6.6及python2.7.16…

RHEL6.4 Keepalive+LVS(DR)部署文档

1、简介LVSKeepalived 能实现的功能:利用 LVS 控制器主备模式避免单点故障以及自动删除故障 WEB 服务器结点并当它恢复后再自动添加到群集中。拓扑图:2、系统环境系统平台:RHEL6.4硬件平台:dell R720*4硬件参数:cpu(e5-2609)两颗;内存 32G;磁盘 600G*6;RAID 5 ;双电源LVS 版本:…

rtp 实时传输协议

实时传输协议&#xff08;Real-time Transport Protocol或简写RTP&#xff09;是一个网络传输协议&#xff0c;它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。 国际电信联盟ITU-T也发布了自己的RTP文档&#xff0c;作为H.225.0&#xff0c;但是后来当IETF发布了关…

MySQL Cluster7.2.4 集群配置

准备 32位和64位版本 3台服务器 202.38.128.153 dbs2 64位 202.122.32.68 dbs1 64位 192.168.32.22 erpdbtest 32位 管理节点(ndb_mgmd) 192.168.32.22 erpdbtest 32位 数据节点(ndbd) 202.122.32.68 dbs1 64位 202.38.128.153 dbs2 64位 SQL节点(mysqld) 202.122.32.68…

非阻塞I/O多路复用机制

题外话&#xff1a;我们现在要仔细的说一说I/O多路复用机制&#xff0c;因为这个说法实在是太通俗了&#xff0c;通俗到一般人都不懂是什么意思。博主打一个比方&#xff1a;小曲在S城开了一家快递店&#xff0c;负责同城快送服务。小曲因为资金限制&#xff0c;雇佣了一批快递…

JAVA中toString方法的作用(转)

因为它是Object里面已经有了的方法&#xff0c;而所有类都是继承Object&#xff0c;所以“所有对象都有这个方法”。 它通常只是为了方便输出&#xff0c;比如System.out.println(xx)&#xff0c;括号里面的“xx”如果不是String类型的话&#xff0c;就自动调用xx的toString()方…

动态改变控件的方法

1.声明控件参数获取的对象 LinearLayout.LayoutParams linear (LayoutParams) view.getLayoutParams(); 2.设置控件参数&#xff0c;如宽度&#xff1a; linear.width 10&#xff1b; 3.使得设置生效 view.setLayoutParams(linear); 注意&#xff1a;view表示的是对应的控件对…

华为C语言笔试题集合

①华为笔试题搜集 1.static有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1)在函数体&#xff0c;一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内&#xff08;但在函数体外&#xff09;&#xff0c;一个被声明为静态的变量…

orcale中case when和group by同时使用会报无效标识符

不可以使用case when 的列名进行group by&#xff0c;如&#xff1a; select count(1)/7 as "平均违法数量", to_char(wfsj, yyyy-MM-dd ) as time, case when (to_char(wfsj, hh24)) between 00 and 04 then 00-04时 when (to_char(wfsj, hh24)) between 04 and 08 …

Windows平台WebRTC编译-VS2017

转载网站&#xff1a;https://blog.jianchihu.net/webrtc-build-vs2017.html 在音视频领域&#xff0c;想深入研究的话&#xff0c;必定会接触WebRTC。WebRTC是一个庞大的工程&#xff0c;就像是音视频领域的百科全书&#xff0c;音视频采集&#xff0c;编解码&#xff0c;传输…

Hadoop--初识Hadoop

什么是Hadoop&#xff1f; 搞什么东西之前&#xff0c;第一步是要知道What&#xff08;是什么&#xff09;&#xff0c;然后是Why&#xff08;为什么&#xff09;&#xff0c;最后才是How&#xff08;怎么做&#xff09;。但很多开发的朋友在做了多年项目以后&#xff0c;都习惯…

Android之TextView属性详解

android:autoLink设置是否当文本为URL链接/email/电话号码/map时&#xff0c;文本显示为可点击的链接。可选值(none/web/email/phone/map/all)android:autoText如果设置&#xff0c;将自动执行输入值的拼写纠正。此处无效果&#xff0c;在显示输入法并输入的时候起作用。androi…

Python 列表解析

列表解析 列表解析总共有两种形式&#xff1a; 1. [i for i in range(k) if condition]&#xff1a;此时if起条件判断作用&#xff0c;满足条件的&#xff0c;将被返回成为最终生成的列表的一员。 2. [i if condition else exp for exp]&#xff1a;此时if...else被用来赋值&am…

VS2019编译 当前最新版chromium

VS2019编译 当前最新版chromium 之前编译过webrtc和chromium&#xff0c; 由于长时间没用&#xff0c;被我删除了&#xff0c; 最近在最新版本的google浏览器上遇到了播放器兼容性问题&#xff0c;老版本的google浏览器是没问题&#xff0c;IE, 火狐浏览器也没问题&#xff0…

37signals为何砍掉中层?个人点评,高素质人才队伍工作,靠的是全体发挥综合能力,而不是靠......

为什么80%的码农都做不了架构师&#xff1f;>>> 37signals为何砍掉中层? 分享到 本文来源于&#xff1a;中欧商业评论 作者&#xff1a;潘芸 发表于&#xff1a;2013-08-21 11:09:41 http://www.cyzone.cn/a/20130821/244571.html 37signals有多位程序员&#…