Python的学习和实战
Python的学习和实战
古语静水流深
生命源自最初的梦想
展开
-
selenium 使用的一些问题汇总
1.chrome_browser_main_extra_parts_metrics.cc(226)可以通过设置日志等级来进行过滤。chrome_options.add_argument('--log-level=3')2.定位元素的方法:建议使用find_element(by=By.xxxx)之前使用的都是find_element_by_id,后续建议为这个find_element(by=By.XPATH,xxx)查看源代码可以看到:通过By.xxx 字段来判断是...原创 2021-12-07 18:04:53 · 11351 阅读 · 0 评论 -
python爬虫 requests使用代理ip
请求时,先将请求发给代理服务器,代理服务器请求目标服务器,然后目标服务器将数据传给代理服务器,代理服务器再将数据给爬虫。代理服务器是经常变化的使用代理服务器时传一个参数:proxy。是一个字典的形式。http或者https这样的字段import requests# 使用代理proxy={ 'http':'http://221.238.207.34:8000' #可以找找国内的一些免费ip}result = requests.get("http://httpbin.o原创 2021-11-23 20:42:37 · 29954 阅读 · 0 评论 -
Python中requests的会话保持session详解
可能大家对session已经比较熟悉了,也大概了解了session的机制和原理,但是我们在做爬虫时如何会运用到session呢,就是接下来要讲到的会话保持。首先说一下,为什么要进行会话保持的操作?requests库的session会话对象可以跨请求保持某些参数,说白了,就是比如你使用session成功的登录了某个网站,则在再次使用该session对象求求该网站的其他网页都会默认使用该session之前使用的cookie等参数尤其是在保持登陆状态时运用的最多,在某些网站抓取,或者app抓取时,有的原创 2021-11-23 18:28:21 · 11008 阅读 · 0 评论 -
Python爬虫的案例分析(梨视频下载)
我们对梨视频的站点进行分析。得出如下结论:视频地址如下,但是在源码中并没有看到,也就得出这个页面是二次渲染。我们通过浏览器,找到返回视频地址的接口通过比对,返回的视频接口和播放地址,以及视频的初始url。得出如下结论:视频初始url:https://www.pearvideo.com/video_1743288,id:1743288, 替换了返回视频的时间字段。这样我们就可以拿到视频地址了。接下来就是下载视频。# 梨视频的下载import requests# 视...原创 2021-11-23 17:31:29 · 1987 阅读 · 0 评论 -
Python爬虫的xpath使用的技巧
XPath简述XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。XPath 开发工具1.开源的XPath表达式编辑工具: XMLQuire(XML格式文件可用)2.Chrome插件 XPath Helper语法结构:如下:# XPath 基础表达式:/node 表示在xml文档的根目录查找结点名称为node的结点./node 表示在当前结点下查找结...原创 2021-11-22 15:56:49 · 272 阅读 · 0 评论 -
Python数据分析的bs4用法
在爬虫的世界里,数据解析占用很重要的位置数据解析原理:标签定位 提取标签、标签属性中存储的数据值bs4数据解析原理:1.实例化一个BeautifulSoup对象,并且将页面原码数据加载到该对象中 2.通过调用BeautifulSoup对象中相关的属性或方法进行标签定位和数据提取通过上述描述。我们需要安装所需要的库文件。执行如下:环境安装:pip install bs4pip install lxml使用时候导入包:from bs4 import Beautiful原创 2021-11-22 12:03:50 · 2957 阅读 · 0 评论 -
python爬虫requests库基础(一):Response对象属性
requests.get()构造一个向服务器请求资源的Request对象,返回一个包含服务器资源的Response对象,Reponse对象包含从服务器返回的所有对象资源Response对象的属性属性 说明r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败r.text HTTP响应内容的字符串形式,即,...原创 2021-11-18 17:01:11 · 2356 阅读 · 0 评论 -
python response.text和response.content的区别
1、重点理解response.text返回的类型是strresponse.content返回的类型是bytes,可以通过decode()方法将bytes类型转为str类型推荐使用:response.content.decode()的方式获取相应的html页面2、扩展理解response.text 解码类型:根据HTTP头部对响应的编码做出有根据的推测,推测的文本编码 如何修改编码方式:response.encoding = 'gbk' response.content 解码...原创 2021-11-18 16:21:14 · 1273 阅读 · 0 评论 -
关于爬虫的一些想法
1.学号爬虫需要的知识。1.计算机网络(http/https协议,tcp/ip协议,socket编程)。因为很多时候我们需要对协议很清楚。这样才能模拟出需要的请求。2.前端的基础。(html+css+js)内容的获取和解析,需要前端的知识。xpath和bs4,都是要有一定的前端知识作为铺垫。3.正则表达式(用于内容解析)4.数据存储技术(分布式存储)当数据量达到很大的级别。需要对存储这块深入。5.并发处理技术(多线程,多进程,线程池,协程)6.图像识别(处理反爬,验证码),机器学习算原创 2021-11-14 18:11:56 · 939 阅读 · 0 评论 -
字符编码的问题梳理
计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过程中,如果使用了错误的解码规则,则导致'a'解析成'b'或者乱码。字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符编码(Character原创 2021-11-13 10:46:47 · 190 阅读 · 0 评论 -
Python 中的 if __name__ == ‘__main__‘ 到底是什么含义
if __name__ == '__main__'就相当于是 Python模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于__name__的值。所以,if __name__ == '__main__'我们简单的理解就是:如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。...原创 2020-11-10 10:12:07 · 1833 阅读 · 0 评论