抓取动态的网页内容主要有两种办法,一种是通过开发者工具找到动态内容的接口,然后分析接口的参数和返回值来爬取网站的数据。另外一种是通过模拟浏览器来抓取数据。python的Selenium库就可以通过代码来模拟浏览器抓取数据。一、概述运行Selenium需要依赖于Python的selenium库,以及浏览器对应驱动器(WebDriver)。安装selenium库pipinstallselenium项目地址:https://pypi.org/project/se
系统 2019-09-27 17:47:10 1483
1)忘记在if,elif,else,for,while,class,def声明末尾添加:(导致“SyntaxError:invalidsyntax”)该错误将发生在类似如下代码中:ifspam==42print('Hello!')2)使用=而不是==(导致“SyntaxError:invalidsyntax”)=是赋值操作符而==是等于比较操作。该错误发生在如下代码中:ifspam=42:print('Hello!')3)错误的使用缩进量。(导致“Inde
系统 2019-09-27 17:47:06 1483
这学期学校开设了Python课程,并且采用了与以往不同的教学方式。以前上C语言和Java语言课程时,我们要么是在教室里上课,要么在机房里上课。教学方式比较固定,也没有想到会有什么样的变化。但这学期不一样,这学期的Python课程与其他的课程在教学方式上发生了很大的变化,这学期的Python课程不再局限于传统的上课方式,还用到了网络,在上课时不再是一味地听老师讲,老师在讲课的同时,我们学生在下面可以同时练习,遇到不懂的话,也可以及时的反应。我觉得这种方式挺好
系统 2019-09-27 17:46:58 1483
分析分析网站寻找需要的网址用谷歌浏览器摁F12打开开发者工具,然后打开斗鱼颜值分类的页面,如图:在里面的请求中,最后发现它是以ajax加载的数据,数据格式为json,如图:圈住的部分是我们需要的数据,然后复制它的网址为https://www.douyu.com/gapi/rknc/directory/yzRec/1,出于学习目的只爬取第一页(减少服务器压力)。然后把网址放到浏览器中测试是否可以访问。如图:结果正常。分析json数据,提取图片链接最后分析发现
系统 2019-09-27 17:46:57 1483
本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法。随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等。Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块。importrandom下面介绍下Python内置的random模块的几种生成随机数的方法。1、random.random()随机生成0到1之间的浮点数[0.0,1.0)。注意的是返回的随
系统 2019-09-27 17:46:55 1483
仔细研读后学习了三个函数:eval:计算字符串中的表达式exec:执行字符串中的语句execfile:用来执行一个文件需注意的是,exec是一个语句,而eval()和execfile()则是内建built-in函数。Python2.7.2(default,Jun122011,15:08:59)[MSCv.150032bit(Intel)]onwin32Type"help","copyright","credits"or"license"formoreinf
系统 2019-09-27 17:46:53 1483
fileinput模块可以遍历文本文件的所有行.它的工作方式和readlines很类似,不同点在于,它不是将全部的行读到列表中而是创建了一个xreadlines对象.下面是fileinput模块中的常用函数input()#它会返回能够用于for循环遍历的对象.filename()#返回当前文件的名称lineno()#返回当前(累计)的行数filelineno()#返回当前文件的行数isfirstline()#检查当前行是否是文件的第一行复制代码代码如下:#
系统 2019-09-27 17:46:52 1483
update()方法添加键-值对到字典dict2。此函数不返回任何值。语法以下是update()方法的语法:dict.update(dict2)参数dict2--这是被添加dict到的词典返回值此方法不返回任何值例子下面的例子显示了update()方法的使用#!/usr/bin/pythondict={'Name':'Zara','Age':7}dict2={'Sex':'female'}dict.update(dict2)print"Value:%s"%
系统 2019-09-27 17:46:47 1483
最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表。在获取csv文本内容的时候,基本上都是用withopen(filename,encoding='UTF-8')asf:来打开csv文本,但是实际使用过程中发现有些csv文本并不是utf-8格式,从而导致程序在run的过程中报错,每次都需要手动去把该文本文件的编码格式修改成utf-8,再次来run该程序,所以想说:直接在程序中判断并修改文本编码。基本思路:先查找该文本是否是utf-8的编
系统 2019-09-27 17:46:34 1483
一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字
系统 2019-09-27 17:46:11 1483