随笔分类 - 第三方库
万能胶python的各种外裤:安装,使用,报错等
摘要:在爬虫开发时,我们时常会遇到各种BUG各种问题,下面是我初步汇总的一些报错和解决方案。 在以后的学习中,如果遇到其他问题,我也会在这里进行更新。 各位如有什么补充,欢迎评论区留言~~~ 问题: IP被封,或者因访问频率太高被拦截??? 解决方案之一: 使用代理IP即可。 问题: 正确使用XPath之
阅读全文
摘要:这一次呢,让我们来试一下“CSDN热门文章的抓取”。 话不多说,让我们直接进入 "CSND官网" 。 (其实是因为我被阿里的反爬磨到没脾气,不想说话……) 一、URL分析 输入“Python”并点击搜索: 便得到了所有关于“Python”的热门博客,包括 [ 标题,网址、阅读数 ] 等等,我们的任务
阅读全文
摘要:一般情况下,我并不建议使用自己的IP来爬取网站,而是会使用代理IP。 原因很简单:爬虫一般都有很高的访问频率,当服务器监测到某个IP以过高的访问频率在进行访问,它便会认为这个IP是一只“爬虫”,进而封锁了我们的IP。 那我们爬虫对IP代理的要求是什么呢? 1、代理IP数量较多,可以减低被封锁的概率;
阅读全文
摘要:在header当中,我们经常会添加两个参数——cookie 和 User Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性。 User Agent获取 User Agent可通过随机发送请求并进入开发者工具来提取。 在这里,我也已经采集了一堆User Agent,并写成一个能随机
阅读全文
摘要:作为进阶的最后一篇,我们就讲个有意思点的案例吧——百度翻译。 一、分析URL接口 正如 "上一篇:《Python爬虫进阶——Get请求》" 讲到的:当我们进行爬虫开发的时候,首先要做的,就是分析URL接口。 1. 打开 "百度翻译" ; 2. F12; 3. 开发者工具中点击“暂停”和“清空”; 4
阅读全文
摘要:在上一篇中,我们是通过 直接访问的网页地址,但在实际应用中,我们更多地使用 对象,因为其可以封装headers和data。 一、Request类的参数 注意: :访问的URL地址; :像URL地址发送的数据,无则为GET,有则为POST; :请求头,类型为字典; :日常不用,忽略; :日常不用,忽略
阅读全文
摘要:很多时候呢,我们都是读取本地HTML文件来进行爬虫练手,但每次都要手打不同的HTML明显耗时耗力; 还有些小伙伴不喜欢F12,偏偏喜欢在Pycharm中查看HTML的源代码; …… 难道每次都只能“复制——新建——粘贴——保存”一条龙服务吗? 不不不,我们还有Python的第三方库—— 。 urll
阅读全文
摘要:如果一个网站采用前端渲染,那么这个网站的前端会访问后端的一些接口,然后拿到后端向前端返回的数据(一般都是Json类型,Json对象的本质其实是一个bytes字节流,但我们可以通过转码的方式,把它转成str),再把Json数据交给JS,JS对其进行解析,最终渲染页面。 这就是前端渲染的一个流程。 很多
阅读全文
摘要:XPath与正则都是用于数据的提取,二者的区别是: 正则:功能相对强大,写起来相对复杂; XPath:语法简单,可以满足绝大部分的需求,但不能爬取注释代码(下一篇会讲到); 所以,如果你可以根据自己的需要进行选择。 一、首先,我们需要为Google浏览器配置XPath插件: 请自行学习,效果如下:
阅读全文
摘要:re是Python的一个第三方库。 为了能更直观的看出re的效果,我们先新建一个HTML网页文件(可直接复制): index.html OK,然后我们进入主题。 re主要有三个功能:提取、匹配、替换。 1、提取findall: 注意:返回的类型是列表 我们应如何取出上文index.html中的Ema
阅读全文
摘要:pyHook包为Windows中的全局鼠标和键盘事件提供回调。 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等。 而正常工作需要pythoncom等操作系统的API的支持。 先链上一篇 "《pyHook和pythoncom的安装》" 。 然后开始讲pyHook的使用
阅读全文
摘要:pyHook包为Windows中的全局鼠标和键盘事件提供回调。Python应用程序为用户输入事件注册事件处理程序,例如鼠标左键,鼠标左键,按键等,并设置键盘和/或鼠标挂钩。底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等。 1、习惯性的—— 我们会直接在命令行敲下 进
阅读全文
摘要:1 什么是线程? (1)线程不同于程序。 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制; 多线程类似于同时执行多个不同程序。 (2)线程不同于进程。 每个独立的进程有一个程序运行的入口、顺序执行序列和程序的出口。 (3)线程的优点: 可以把占据长时间的程序中的任务放到后台
阅读全文
摘要:1、创建root: 2、将整个画布涂灰: 这里我选择用一个Frame组件frm1进行覆盖。 如图: 3、再新建一个Frame组件frm2: frm2为的,是将界面的小部件都放到其中,相当于一个容器。 如图: 那得把frm2组件居中啊,可是如果输入 程序就会报错,我们只能曲线救国了。 如图: 搞定,继
阅读全文
摘要:很长的一段时间里,我都是用tkinter进行GUI设计的,还写过一篇《 "tkinter模块常用参数" 》。 但后来慢慢地觉得,这个tkinter真的是有点丑啊。 于是,找到了现在的ttk。 ttk是什么呢? 在我看来,它应该算是tkinter的一个进阶组件,为的,就是完善tkinter的一些功能。
阅读全文
摘要:在很久之前,我发过一篇《 "tkinter模块常用参数" 》,里面已经几乎涵盖了tkinter的大部分教程。 好吧,其实也就是上一篇而已啦。 所谓 布局 ,就是指控制窗体容器中各个控件(组件)的位置关系。 tkinter 共有三种几何布局管理器,分别是:pack布局,grid布局,place布局:
阅读全文
摘要:1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk()) root.title('标题名') 修改框体的名字,也可在创建时使用className参数来命名; root.resizable(0,0) 框体大小可调性,分别表示x,y方向的可变性; root.geometry('
阅读全文
摘要:最近着手开发一个小东西涉及到了API接口的知识点, 第一次使用到了ctypes库,在网上找了一大圈,基本都是讲add.dll之后就没了。 就像下面这个: 而我需要的读出一张ACR122U卡的卡号,于是愚笨地写下了这段代码: 结果很尴尬,每次读出来的都是不一样的。。。。。。 后来我才知道,原来它返回的
阅读全文
摘要:这是我在使用Django进行models编写时的一个错误。 解决办法: 为其指定一个默认值即可
阅读全文
摘要:woe全称是“Weight of Evidence”,即证据权重,是对原始自变量的一种编码形式。 进行WOE编码前,需要先把这个变量进行分组处理(离散化) 其中,pyi是这个组中响应客户(即模型中预测变量取值为“是”或1的个体,也叫坏样本)占所有样本中所有响应客户的比例,pni是这个组中未响应客户(
阅读全文