自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

读书郎

路漫漫其修远兮,吾将上下而求索

  • 博客(23)
  • 收藏
  • 关注

原创 fake-useragent 的使用

fake-useragent文档:https://fake-useragent.readthedocs.io/en/latest/在爬虫中进行request请求,很多时候,都需要添加请求头,不然服务器会认为是非法的请求,从而拒绝你的访问。,在添加请求头中最常用的就是添加user-agent来讲本次请求伪装成浏览器。User Agent 中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

2020-07-25 20:44:50 8744

原创 分布式爬虫

分布式爬虫:简单理解:之前无论是多线程爬虫,还是scrapy异步爬虫,都是在一台机器上。而分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,这将大大提高爬取的效率。分布式爬虫优点:可以充分利用多台机器的带宽。可以充分利用多台机器的ip地址。多台机器做,爬取效率更高。分布式爬虫必须要解决的问题:分布式爬虫是好几台机器在同时运行,如何保证不同的机器爬取页面的时候不会出现重复爬取的问题。同样,分布式爬虫在不同的机器上运行,在把数据爬完后如何保证保存在同一个地方。Scrapy是一个框架,他

2020-07-25 20:10:02 1126

原创 scrapy框架学习记录(2)

更新一下上次的内容:Scrapy Engine(引擎):Scrapy框架的核心部分。负责在Spider和ItemPipeline、Downloader、Scheduler中间通信、传递数据等。Spider(爬虫):发送需要爬取的链接给引擎,最后引擎把其他模块请求回来的数据再发送给爬虫,爬虫就去解析想要的数据。这个部分是我们开发者自己写的,因为要爬取哪些链接,页面中的哪些数据是需要的,都是由程序员自己决定。Scheduler(调度器):负责接收引擎发送过来的请求,并按照一定的方式进行排列和整理,负责调

2020-07-25 20:04:07 214

原创 Scrapy框架学习记录(1)

Scrapy框架:写一个爬虫,需要做很多的事情。比如:发送网络请求、数据解析、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、异步请求等。这些工作如果每次都要自己从零开始写的话,比较浪费时间。因此Scrapy把一些基础的东西封装好了,在他上面写爬虫可以变的更加的高效(爬取效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用Scrapy框架来解决。安装Scrapy框架:pip install scrapy。可能会出现问题:在ubuntu下要先使用以下命令安装依赖包:sudo ap

2020-07-22 13:50:33 179

原创 字体反爬

字体反爬网页开发者自己创造一种字体,因为在字体中每个文字都有其代号,那么以后在网页中不会直接显示这个文字的最终的效果,而是显示他的代号,因此即使获取到了网页中的文本内容,也只是获取到文字的代号,而不是文字本身。因为创造字体费时费力,并且如果把中国3000多常用汉字都实现,那么这个字体将达到几十兆,也会影响网页的加载。一般情况下为了反爬虫,仅会针对0-9以及少数汉字进行自己单独创建,其他的还是使用用户系统中自带的字体。字体反爬解决方法-寻找字体一般情况下为了考虑网页渲染性能,通常网页开发者会把字

2020-07-20 20:21:54 8280

原创 js Cracking examples

有道翻译接口破解调用进入有道翻译界面,在输入框尝试输入数据以获取请求,经过抓包后找到POST请求的接口查看其响应分析产生的表单数据i: hellofrom: AUTOto: AUTOsmartresult: dictclient: fanyideskwebsalt: 15952077772289sign: 13c775b9efcc1ceb3e566f04e81b3644ts: 1595207777228bv: 44a53b4124e8b822ebfd881c5a599938do

2020-07-20 10:30:53 156

原创 使用selenium和chromedriver实现12306抢票

前段时间由于12306增加了候补功能,暴力去抢票意义不是很大,但在车票刚放出时前几分钟运行还是有些用处的,姑且就当成一个实验吧。该程序需要刚开始去扫码登录,如果账号密码肯定需要验证码就比较麻烦了,所以一开始扫码登录,后续就交给程序跑就好了from selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_

2020-07-19 12:36:32 451

原创 动态网页爬虫

动态网页爬虫什么是动态网页爬虫和AJAX技术:动态网页,是网站在不重新加载的情况下,通过ajax技术动态更新网站中的局部数据。比如拉勾网的职位页面,在换页的过程中,url是没有发生改变的,但是职位数据动态的更改了。AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML。前端与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须

2020-07-18 17:26:06 1141

原创 Machine Learning Day1-引言

第一章 绪论:初识机器学习1.1 欢迎参加机器学习课程机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。在这门课程中,你将学习到机器学习这门技术,并可以自己实现机器学习算法。1.2 什么是机器学

2020-07-17 21:41:16 202

原创 多线程下载王者荣耀壁纸

多线程下载王者荣耀壁纸该程序中:生产者:产生图片网址请求和生成目录消费者:下载由生产者生产的网址中的图片import requestsfrom urllib import parsefrom urllib import requestimport osimport threadingimport queueheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

2020-07-17 17:51:38 918

原创 CSDN写文章更改图片大小

找了很多方法,有一些不知道为什么有的不能用了,这个还能用写博客的时候,会经常插入一些图片,但有时候我们会插入一些像素比较小的图片,插入的图片都是默认格式,像素小的图片放大时有时会失帧,看起来很不舒服,例如:方法一:图片底部都会有一个链接,而我们需要的,就是这一段url <img src="https://img-blog.csdnimg.cn/20200717174024833.png" width="20%">效果:...

2020-07-17 17:48:42 904

原创 多线程

多线程:什么是多线程:理解:默认情况下,一个程序只有一个进程和一个线程,代码是依次线性执行的。而多线程则可以并发执行,一次性多个人做多件事,自然比单线程更快。如何创建一个基本的多线程:使用threading模块下的Thread类即可创建一个线程。这个类有一个target参数,需要指定一个函数,那么以后这个线程执行的时候,就会执行这个函数的代码。示例代码如下:import timeimport threadingdef coding(): for x in range(3):

2020-07-16 22:12:05 107

原创 MySQL数据库操作

MySQL数据库操作MySQL数据库安装:下载地址:https://dev.mysql.com/downloads/windows/installer/5.7.0.html如果提示没有.NET Framework框架。那么就在提示框中找到下载链接,下载一个就可以了。如果提示没有Microsoft Virtual C++ x64(x86),那么百度或者谷歌这个软件安装即可。Python连接MySQL数据库:pip install pymysql连接代码:db = pymysql.c

2020-07-15 18:46:22 105

原创 Excel文件处理

Excel文件处理:Sheet相关的操作:workbook = xlrd.open_workbook("成绩表.xlsx")# 获取所有的sheet名字# print(workbook.sheet_names())# 根据索引获取指定的sheet对象# sheet = workbook.sheet_by_index(1)# print(sheet.name)# 根据名称获取指定的sheet对象# sheet = workbook.sheet_by_name("2班")# print

2020-07-14 22:21:38 392

原创 CSV文件处理

CSV文件处理:CSV文件读取的两种方式:import csv# 这种方式读取到的每一条数据是一个列表,所以需要通过下标的方式获取具体某一个值# with open("stock.csv",'r',encoding='gbk') as fp:# reader = csv.reader(fp)# for x in reader:# print(x[3])# 这种方式读取到的每一条数据是一个字典,所以可以通过列名获取数据with open("stock.cs

2020-07-13 16:30:55 183

原创 JSON字符串处理

JSON字符串处理:什么是JSON字符串:JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。更多解释请见:https://baike.baidu.com/item/JSON/2462549?fr=a

2020-07-13 16:14:50 224

原创 爬取赶集网租房信息

使用正则表达式获取房源标题、户型、面积、价格import requestsimport redef parse_page(page_url): print(page_url) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'

2020-07-13 11:46:22 369

原创 正则表达式练习

正则表达式:单字符匹配:# 匹配某个字符串:# text = "abc"# ret = re.match('a',text) 从第一个位置开始查找# print(ret.group()) # 点(.):匹配任意的字符(除了'\n'):# text = "\nabc"# ret = re.match('.',text)# print(ret.group())# \d:匹配任意的数字:# text = "aab"# ret = re.match('\d',text)

2020-07-12 22:07:23 1029

原创 BeatifulSoup4库

BeautifulSoup4库和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。安装和文档:安装:pip install bs4中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html几大解析工具对比:简单使用:from bs4 import BeautifulSouphtml = """<html&gt

2020-07-10 10:49:47 304

原创 面试题 16.11. 跳水板

你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}提示:0 < shorter <= longer0 <= k <= 100000class Solution {public: vector<in

2020-07-08 22:34:55 144

原创 XPath语法和lxml模块

XPath语法和lxml模块什么是XPath?xpath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。XPath开发工具Chrome插件XPath Helper。Firefox插件Try XPath。XPath节点在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。XPath语法

2020-07-08 22:07:16 199

原创 网络请求(二)

cookie: 登录什么是cookie:指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据cookie的格式:Set-Cookie: NAME=VALUE;Expires/Max-age=DATE;Path=PATH; Domain=DOMAIN_NAME;SECURE参数意义:NAME:cookie的名字。VALUE:cookie的值。Expires:cookie的过期时间。Path:cookie作用的路径。Do

2020-07-08 13:25:59 943

原创 jupyter notebook安装多kernel

查看Jupyter Notebook使用的是哪一个Python解释器import sysprint(sys.version)print(sys.executable)Jupyter Notebook内核指定的Python环境位置,在cmd(win+r)下输入命令:ipython kernelspec list可以直接修改里面的配置更改pip源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2020-07-03 23:11:20 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除