04 2020 档案

摘要:Go 数组 数组:数组是同一类型元素的集合,在内存中乱序存放 package main import "fmt" func main() { // 1 基本定义和使用 // 定义一个大小为3的int类型数组 // 数组在定义阶段,大小和类型就固定了 //var a [3]int //a[2] = 1 阅读全文
posted @ 2020-04-22 16:37 Hank·Paul 阅读(280) 评论(0) 推荐(0)
摘要:Go语言的简介和基本使用 Go 函数、包、mode模式 Go if-else语句、for循环、switch语句 Go 数组、切片、Maps 阅读全文
posted @ 2020-04-21 20:43 Hank·Paul 阅读(251) 评论(0) 推荐(0)
摘要:Go if-else语句 package main import "fmt" func main() { a := 10 //1 基本使用 //if a>10{ // fmt.Println("大于10") //}else { // fmt.Println("小于等于10") //} //2 if 阅读全文
posted @ 2020-04-21 20:41 Hank·Paul 阅读(353) 评论(0) 推荐(0)
摘要:Go函数 package main import "fmt" func main() { fmt.Println("开始") // 1 函数调用 //test() // 2 函数调用 //方式一 //a:=10 //test(a) //方式二 //test(10) // 3 函数调用 //test( 阅读全文
posted @ 2020-04-21 20:39 Hank·Paul 阅读(492) 评论(0) 推荐(0)
摘要:Go的简介 Go 即Golang,Go是静态 强类型语言(不能做类型间的运算),是区别于解析型语言的编译型语言。 Go语言特性 跨平台的编译型语言 语法接近C语言 管道(channel),切片(slice),并发(routine) 有垃圾回收的机制 支持面向对象和面向过程的编程模式 go语言环境搭建 阅读全文
posted @ 2020-04-20 21:45 Hank·Paul 阅读(480) 评论(0) 推荐(0)
摘要:FastAPI框架 该框架的速度(天然支持异步)比一般的django和flask要快N多倍 使用该框架需要保证python解释器版本是3.6及以上 Ps:django3.X版本也支持异步,但是它的异步功能并没有真正的实现,还有很多bug 安装 pip3 install fastapi pip3 in 阅读全文
posted @ 2020-04-19 11:46 Hank·Paul 阅读(1268) 评论(0) 推荐(0)
摘要:bitmap去重与布隆过滤器原理 1. bitmap去重 通过一个比特位来存一个地址,占用内存很小 2. 布隆过滤器 BloomFilter 会开辟一个m位的bitArray(位数组),开始所有数据全部置 0 。当一个元素过来时,能过多个哈希函数(h1,h2,h3....)计算不同的在哈希值,并通过 阅读全文
posted @ 2020-04-13 09:03 Hank·Paul 阅读(1315) 评论(0) 推荐(0)
摘要:MongoDB基础知识 MongoDB是一款强大、灵活、且易于扩展的通用型数据库 1、文档是MongoDB的核心概念。文档就是键值对的一个有序集{'msg':'hello','foo':3}。类似于python中的有序字典。 需要注意的是: #1、文档中的键/值对是有序的。 #2、文档中的值不仅可以 阅读全文
posted @ 2020-04-13 02:55 Hank·Paul 阅读(212) 评论(0) 推荐(0)
摘要:分布式爬虫 安装: pip3 install scrapy-redis 1. 修改原来的爬虫继承和start_urls from scrapy_redis.spiders import RedisSpider class CnblogsSpider(RedisSpider): #start_urls 阅读全文
posted @ 2020-04-13 02:28 Hank·Paul 阅读(196) 评论(0) 推荐(0)
摘要:scrapy 请求传参 def parse(self, response): div_list = response.css('div.post_item') for div in div_list: item = ScrItem() dec = div.css('p.post_item_summa 阅读全文
posted @ 2020-04-13 02:25 Hank·Paul 阅读(244) 评论(0) 推荐(0)
摘要:Scrapy 对接selenium # 在爬虫启动后,就只打开一个chrom浏览器,以后都用这单独一个浏览器来爬数据 # 1 在爬虫中创建bro对象 from selenium import webdriver bro = webdriver.Chrome() # 2 中间件中使用: from sc 阅读全文
posted @ 2020-04-12 20:20 Hank·Paul 阅读(271) 评论(0) 推荐(0)
摘要:Scrapy 去重源码分析 # 去重源码分析 # from scrapy.core.scheduler import Scheduler # Scheduler下:def enqueue_request(self, request)方法判断是否去重 if not request.dont_filte 阅读全文
posted @ 2020-04-12 20:17 Hank·Paul 阅读(231) 评论(0) 推荐(0)
摘要:fake-useragent 该插件用来随机生成请求头中的user-agent https://github.com/hellysmile/fake-useragent 安装 pip3 install fake-useragent 使用 from fake_useragent import User 阅读全文
posted @ 2020-04-12 16:54 Hank·Paul 阅读(1366) 评论(0) 推荐(0)
摘要:Scrapy 框架提高爬取效率的配置 - 在配置文件中进行相关的配置即可:(默认还有一套setting) #1 增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。 阅读全文
posted @ 2020-04-12 16:48 Hank·Paul 阅读(219) 评论(0) 推荐(0)
摘要:Downloader Middleware 的用法 Downloader Middleware 即下载中间件,它是处于Scrapy 的Request 和Response之间的处理模块。 Downloader Middleware 在整个架构中起作用的位置是以下两个: 在Scheduler 调度出队列 阅读全文
posted @ 2020-04-11 13:27 Hank·Paul 阅读(300) 评论(0) 推荐(0)
摘要:一.爬虫项目类相关属性 name 。爬虫名称,是定义Spider 名字的字符串。Spider 的名字定义了Scrapy 如何定位并初始化Spider,它必须是唯一的。不过我们可以生成多个相同的Spider 实例,数量没有限制。 allowed_domains 。允许爬取的域名,是可选配置,不在此范围 阅读全文
posted @ 2020-04-11 13:01 Hank·Paul 阅读(322) 评论(0) 推荐(0)
摘要:爬虫基础 爬虫的Robots协议 请求库之requests库 解析库beautifulsoup 爬取汽车之家新闻 搭建免费代理池 验证码破解 模拟自动登录网站 xpath路径 selenium简介与安装 selenium的使用 Scrapy框架 Scrapy 架构介绍 scrapy 框架的安装与启动 阅读全文
posted @ 2020-04-11 01:38 Hank·Paul 阅读(225) 评论(0) 推荐(0)
摘要:Scrapy持久化 方式一(了解): 此方式针对小型项目,利用其可以轻松将输出抓取到文件中 1 parser解析函数,return 列表,列表套字典 2 命令行持久化到文件中:scrapy crawl chouti -o aa.json (支持:('json', 'jsonlines', 'jl', 阅读全文
posted @ 2020-04-11 00:46 Hank·Paul 阅读(241) 评论(0) 推荐(0)
摘要:解析response parse()方法的参数 response 是start_urls里面的链接爬取后的结果。所以在parse()方法中,我们可以直接对response对象包含的内容进行解析,比如浏览请求结果的网页源代码,或者进一步分析源代码内容,或者找出结果中的链接而得到下一个请求 一.resp 阅读全文
posted @ 2020-04-10 19:53 Hank·Paul 阅读(6787) 评论(1) 推荐(2)
摘要:爬取数据并解析 爬虫文件中parse方法中写: def parse(self, response): # 解析,请求回来,自动执行parser,在这个方法中做解析 # 解析 方式一:使用bs4解析 # from bs4 import BeautifulSoup # soup=BeautifulSou 阅读全文
posted @ 2020-04-10 19:45 Hank·Paul 阅读(446) 评论(0) 推荐(0)
摘要:Scrapy 架构 Scrapy 是一个基于 Twisted 的异步处理框架,是纯 Python 实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制开发几个模块就可以轻松实现一个爬虫。 它可以分为如下的几个部分。 Engine引擎(大总管),用来处理 阅读全文
posted @ 2020-04-10 19:03 Hank·Paul 阅读(767) 评论(0) 推荐(0)
摘要:scrapy项目架构 -project # 项目名 -project # 跟项目一个名,文件夹 -spiders # spiders:放着爬虫 genspider生成的爬虫,都放在这下面 -__init__.py -chouti.py # 抽屉爬虫 -cnblogs.py # cnblogs 爬虫 阅读全文
posted @ 2020-04-10 18:36 Hank·Paul 阅读(421) 评论(0) 推荐(0)
摘要:scrapy 框架的安装 安装的详细过程:https://cuiqingcai.com/5421.html Windows平台 如果 pip3 install scrapy 安装不上,则执行下列步骤安装 1、pip3 install wheel #安装后,便支持通过wheel文件安装软件,wheel 阅读全文
posted @ 2020-04-10 17:58 Hank·Paul 阅读(1334) 评论(0) 推荐(0)
摘要:selenium的使用 声明浏览器对象 Selenium支持非常多的浏览器,如Chrome、Firefox、Edge等,还有Android、BlackBerry等手机端的浏览器。此外,我们可以用如下方式进行初始化: from selenium import webdriver browser = w 阅读全文
posted @ 2020-04-09 21:53 Hank·Paul 阅读(269) 评论(0) 推荐(0)
摘要:selenium的介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 安装 pip 阅读全文
posted @ 2020-04-09 19:44 Hank·Paul 阅读(209) 评论(0) 推荐(0)
摘要:xpath路径 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 1、选取节点 表达式描述 nodename 选取此节点的所有子节点。 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 . 选取当前节点 阅读全文
posted @ 2020-04-09 10:26 Hank·Paul 阅读(651) 评论(0) 推荐(0)
摘要:模拟自动登录网站 import requests ret = requests.post('http://www.aa7a.cn/user.php', data={ 'username': '616564099@qq.com', 'password': 'lqz123', 'captcha': 'f 阅读全文
posted @ 2020-04-09 06:04 Hank·Paul 阅读(670) 评论(0) 推荐(0)
摘要:爬虫的规定 Robots协议 网站开发者对于网络爬虫的规范的公告,你可以不遵守可能存在法律风险,但尽量去遵守 Robots协议:在网页的根目录+/robots.txt 如www.baidu.com/robots.txt Robots协议的基本语法: #*代表所有,/代表根目录 User-agent: 阅读全文
posted @ 2020-04-09 01:22 Hank·Paul 阅读(1288) 评论(0) 推荐(0)
摘要:单链表 class Hero(): def __init__(self,num=None,name=None,nickname=None,pNext=None): self.num = num self.name = name self.nickname = nickname self.pNext 阅读全文
posted @ 2020-04-09 01:19 Hank·Paul 阅读(142) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/liuqingzheng/articles/9079192.html 官方文档 阅读全文
posted @ 2020-04-09 01:16 Hank·Paul 阅读(943) 评论(0) 推荐(0)
摘要:爬取糗事百科,微信自动发送 # https://www.qiushibaike.com/text/ # https://www.qiushibaike.com/text/page/1/ import requests from bs4 import BeautifulSoup ret=request 阅读全文
posted @ 2020-04-09 01:12 Hank·Paul 阅读(223) 评论(0) 推荐(0)
摘要:验证码破解 # 打码平台(自动破解验证码,需要花钱)云打码,超级鹰(12306) http://www.yundama.com/ http://www.chaojiying.com/ # 注册账号,(充钱)把demo下载下来,运行即可 以超级鹰为例 点击此处下载API,并解压就可以直接使用了 阅读全文
posted @ 2020-04-08 22:12 Hank·Paul 阅读(668) 评论(0) 推荐(0)
摘要:搭建免费代理池 https://github.com/jhao104/proxy_pool # 收费的:提供给你一个接口,每调一次这个接口,获得一个代理 # 免费:用爬虫爬取,免费代理,放到我的库中,flask,django搭一个服务(删除代理,自动测试代理可用性),每次发一个请求,获取一个代理 # 阅读全文
posted @ 2020-04-08 21:52 Hank·Paul 阅读(1791) 评论(0) 推荐(0)
摘要:解析库beautifulsoup的介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库 #安装 Beautiful Soup pip install beautifulsoup4 #安装解析器 Beautiful Soup支持Python标准库中的HTML解 阅读全文
posted @ 2020-04-08 21:27 Hank·Paul 阅读(253) 评论(0) 推荐(0)
摘要:爬取汽车之家新闻 # 爬取汽车之家 import requests # 向汽车之家发送get请求,获取到页面 ret = requests.get('https://www.autohome.com.cn/news/1/#liststart') # print(ret.text) # bs4解析(可 阅读全文
posted @ 2020-04-08 20:32 Hank·Paul 阅读(329) 评论(0) 推荐(0)
摘要:数据分析 数据分析之Numpy 数据分析之pandas matplotlib画图 画图工具 阅读全文
posted @ 2020-04-08 08:56 Hank·Paul 阅读(176) 评论(0) 推荐(0)
摘要:request 模块基本使用 安装 pip install requests 1.发送http请求 # get,delete,post 本质都是调用request函数 ret = requests.get('http://www.baidu.com') print(ret.status_code) 阅读全文
posted @ 2020-04-08 08:39 Hank·Paul 阅读(281) 评论(0) 推荐(0)
摘要:网络状态码301与302 """ 301和302都是HTTP状态的编码,都代表着某个URL发生了转移。 301跳转,也叫“永久性转移”,301会把原网页权重转移到重定向目标的网站上面。 302跳转也称为,“临时性跳转”。 区别 1、使用效果不同 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧 阅读全文
posted @ 2020-04-08 08:27 Hank·Paul 阅读(1852) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/Anker/p/6056540.html 正向代理与反向代理 """ 正向代理是对客户端的代理,由客户端设立,客户端了解代理服务器和目标服务器,但是目标服务器不了解真正的客户端是谁;使用正向代理可以达到突破访问限制,提高访问速度,对服务器隐藏客户端ip 阅读全文
posted @ 2020-04-08 08:26 Hank·Paul 阅读(153) 评论(0) 推荐(1)
摘要:垃圾回收机制 阅读全文
posted @ 2020-04-08 01:13 Hank·Paul 阅读(230) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/an-wen/p/11180076.html https://www.cnblogs.com/linhaifeng/p/6266327.html HTTP与HTTPS的区别 HTTP协议传输的数据都是未加密(明文)的,因此使用HTTP协议传输隐私信息不 阅读全文
posted @ 2020-04-07 19:04 Hank·Paul 阅读(200) 评论(0) 推荐(0)
摘要:算法 1、排序算法 冒泡排序 选择排序 插入排序 快速排序 希尔排序 计数排序 2、列表查找 从列表中查找指定的元素 顺序查找 从列表第一个元素开始,顺序进行搜索,直到找到为止 二分查找 从有序列表的候选区data[0: n]开始,通过对待查找的值与候选区中的值比较使候选区的值减半 数据结构与算法动 阅读全文
posted @ 2020-04-07 08:31 Hank·Paul 阅读(358) 评论(0) 推荐(1)
摘要:matplotlib的使用 阅读全文
posted @ 2020-04-01 18:58 Hank·Paul 阅读(174) 评论(0) 推荐(0)