![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
可惜没有如果
记录自己的学习过程
展开
-
算法练习(六)----树查找
树查找#include#include#includeint main(int argc, char const *argv[]){ int tree[1000]; int h; int n; while(scanf("%d",&n) != EOF){ for(int i=0;i<n;i++){ scanf原创 2018-01-16 18:40:34 · 186 阅读 · 0 评论 -
python爬虫学习第三十二天
今天的内容:穿越网页表单与登录窗口进行采集到目前为止,我们示例中的网络爬虫在和大多数网站的服务器进行数据交互时,都是用HTTP 协议的 GET 方法去请求信息。这一章,我们将重点介绍 POST 方法,即把信息推送给 网络服务器进行存储和分析 页面表单基本上可以看成是一种用户提交 POST 请求的方式,且这种请求方式是服务器能够 理解和使用的。就像网站的 URL 链接可以帮助用户发送 GET原创 2017-08-27 21:13:40 · 208 阅读 · 0 评论 -
python爬虫学习第三十一天
今天主要时了解python的自然语言工具包NLTK(Nature Language Toolkit ).这是一个python第三方库,需要自己下载,直接调用pip指令下载就可以。安装稍微花了一点时间。下载完成后打开IDLE,键入import nltk若没有报错,那么恭喜您,安装成功,否则请google,接下来键入nitk.download()指令来下载包,键入指令后会出现一个包列表可供选择原创 2017-08-26 21:08:59 · 299 阅读 · 0 评论 -
python爬虫学习第四十天
今天的主题:selenium单元测试相比起python自带的测试模块,web测试中更多使用的是selenium单元测试,因为他可以处理AJAX和javascript脚本elenium 不要求单元测试必须是类的一个函数,它的 “断言”语句也不需要括号,而且测试通过的话不会有提示,只有当测试失败时才会产生 信息提示 练习 selenium进行标题匹配from selenium imp原创 2017-09-04 21:42:19 · 211 阅读 · 0 评论 -
python爬虫学习第二十九天
今天的主要内容:马尔可夫模型 Google的page rank算法就是基于马尔可夫模型,把网站做为节点,入站/出站链接 做为节点之间的连线。连接某一个节点的“可能性”(likelihood)表示一个网站的相对关注度练习,用一定长度的马尔科夫链构成句子 这里用字典来模拟马尔科夫链,字典为两层,每遇到一个新单词在第一层建立一个字典,然后查看它的后一个单词,如果后一个单词存在于它前一个单词的二级字典中原创 2017-08-22 22:23:38 · 197 阅读 · 0 评论 -
python爬虫学习第二十二天
今天主题把数据存储到CSV 练习1 调用csv模块操作csv文件import csvcsvFile = open('test.csv','w+')try: csvWriter = csv.writer(csvFile) csvWriter.writerow(('number','number+1','number+2')) for i in range(18):原创 2017-08-15 20:56:40 · 152 阅读 · 0 评论 -
python爬虫学习第三十九天
今天完成昨天说的,采集网页并验证,这个程序有一定难度练习 验证wikipedia链接名称的最后一项与页面标题是否相符import unittestfrom bs4 import BeautifulSoupfrom urllib.request import urlopenimport datetimeimport randomrandom.seed(datetime.datetime.n原创 2017-09-03 22:10:37 · 255 阅读 · 0 评论 -
python爬虫学习第二十八天
今天的内容:自然语言处理我们即将用来做数据归纳的文字样本源自美国第九任总统威廉 ·亨利 ·哈里森的就职演 说练习 简单修改一下之前的 n-gram 模型,就可以获得 2-gram 序列的频率数据, 然后我们用 Python 的 operator 模块对 2-gram 序列的频率字典进行排序from urllib.request import urlopenfrom bs4 import Beaut原创 2017-08-21 22:39:47 · 233 阅读 · 0 评论 -
python爬虫学习第二十七天(补昨天)
这一篇是昨天的,但是昨天不知道为什么我登不上csdn,只能先在本地写完了今天接着昨天的内容,数据清洗 昨天的联系中我们仅仅是提取出了许多个2-gram,但是里面含有许多我们并不需要的信息,我们今天要一点点的把他们剔除。 首先,用一些正则表达式来移除转义字符(\n) ,再把 Unicode 字符过滤from urllib.request import urlopenfrom bs4 import原创 2017-08-21 22:07:48 · 244 阅读 · 0 评论 -
python爬虫学习第十三天——正则表达式
今天的主要内容是正则表达式,后面有一个练习是关于lambda表达式的 题目加了个说明是为了以后更快的来查找正则表达式的格式 表2-1只是python正则的写法,他跟c语言的写法进本相同,但与Java的还是有一些区别的 另外关于lambda表达式,这个东西我学过但是平时杰出的不是很多,听说在构建大型应用的时候非常有用练习1 正则表达式1 (1) 字母“a”至少出现一次; (2) 后面跟着字原创 2017-08-06 20:53:12 · 300 阅读 · 0 评论 -
python爬虫学习第三十天
今天的内容:维基百科六度分割:终结篇 还记得之前,我们创建了收集从凯文 ·贝肯开始的维基词条链接的爬虫,最后存储在数据库 里。为什么这里又把这个游戏搬出来?因为它体现了一种从一个页面指向另一个页面的链 接路径选择问题(即找出https://en.wikipedia.org/wiki/Kevin_Bacon 和 https://en.wikipedia. org/wiki/Eric_Idle 链接原创 2017-08-23 22:47:50 · 221 阅读 · 0 评论 -
学习日记告一段落
考研复习已经进入了紧张的强化冲刺阶段,晚上的休息时间也要拿来整理笔记了,爬虫的学习告一段落,但绝不是就此放下了,等到考完试,一定要拾起来!!!!原创 2017-09-05 21:25:50 · 496 阅读 · 0 评论 -
算法练习(五)---打牌
打牌#include#include#includeusing namespace std;int main(int argc, char const *argv[]){ int card[10] = {0}; char a[100]; while(scanf("%s",a) != EOF){ char b[5]; sc原创 2018-01-15 17:53:48 · 715 阅读 · 0 评论 -
算法题练习(四)----c翻转
c翻转c++:#include<iostream>#include <algorithm>using namespace std;int main() { int mat[5][5]; int direction=0; int x; int y; int number; while(cin>>mat[0][0]>>mat[0][1]>>mat[0][原创 2018-01-14 18:49:25 · 309 阅读 · 0 评论 -
算法题练习(三)----矩阵的k次幂
题目import java.util.*;import java.io.*;public class Main{ /** * [power description] 矩阵幂运算函数 * 1)首先取得矩阵的阶 * 2)创建结果矩阵,原封不动复制原矩阵 * 3)做k次矩阵幂乘 * 4)模拟矩阵乘法的过程,首先循环行,再循环列,再循环每个数原创 2018-01-13 09:43:08 · 4633 阅读 · 0 评论 -
python爬虫学习第三十八天
今天的内容:用爬虫测试网站测试&单元测试 测试和单元测试(unit test)这两个词基本可以看成是等价的。一般当程序员们说起“写测 试”时,他们真正的意思就是“写单元测试” 。而一些程序员提到写单元测试时,他们写 的就是某一种测试。单元测试一般有如下的特点: 一个单元测试用于测试一个零件(component)功能的一个方面。通常,对于一个零件的所用功能的测试都放在一个类原创 2017-09-02 20:56:06 · 197 阅读 · 0 评论 -
python爬虫学习第三十七天
进行到这里,这本书已经接近了尾声。接下来的内容显得可能有些碎片化,但是它们对于正确使用爬虫,创建更高效的爬虫提出了很多实用的建议。 最近几天敲的代码并不多,在学习的过程中渐渐的意识到,代码的量固然重要,但经过自己思考的代码量才显得有意义,所以最近几天的记录里我更偏向于摘录自己觉得实用的理论。当然,代码也是不能少的。今天的主题是,让网络机器人看起来像人类用户。 网站防采集的前提就是要正确地区分人原创 2017-09-01 21:22:52 · 236 阅读 · 0 评论 -
python爬虫学习第三十六天
今天完成昨天说的识别图片文字的内容练习 将tesseract与爬虫结合起来import timefrom urllib.request import urlretrieveimport subprocessfrom selenium import webdriverdriver=webdriver.PhantomJS(executable_path="C:/Users/gaoj原创 2017-08-31 21:54:12 · 214 阅读 · 0 评论 -
python爬虫学习第三十五天
今天继续昨天的课题:OCR这次我们换一张相对模糊的图片,例如: 使用tesseract的stdout命令输出如下结果:This is some text, written in Arial,Tesseract. Here are some可以看到图片后面的单词明显没有被正确的识别,主要是因为图片背景色是渐变的,如果图片的渐变再加快加深,仅仅一个指令处理这张图片就远远不够了。原创 2017-08-30 21:46:07 · 226 阅读 · 0 评论 -
python爬虫学习第三十四天
今天首先继续昨天未完成的selenium部分,主要是重定向问题 客户端重定向是在服务器将页面内容发送到浏览器之前,由浏览器执行 JavaScript 完成的 页面跳转,而不是服务器完成的跳转。当使用浏览器访问页面的时候,有时很难区分这两 种重定向。由于客户端重定向执行很快,加载页面时你甚至感觉不到任何延迟,所以会让 你觉得这个重定向就是一个服务器端重定向我们可以通过selenium原创 2017-08-29 21:53:18 · 234 阅读 · 0 评论 -
python爬虫学习第三十三天
今天的主要内容:在Python中用Selenium执行JavaScript后面练习中可能用到的知识点,概念或工具: Selenium: Selenium是一个强大的网络数据采集工具,其最初是为网站自动化测试而开发的。近几年,它还被广泛用于获取精确的网站快照,因为它们可以直 接运行在浏览器上。Selenium 可以让浏览器自动加载页面,获取需要的数据,甚至页面截 屏,或者判断网站上某些原创 2017-08-28 21:52:36 · 234 阅读 · 0 评论 -
python爬虫学习第四天
今天的内容就比较轻松了,主要是urllib,error这个库的使用,使用里面现有的各种(只敲了两种)异常捕获类可以帮助我们分析向服务器发送请求后可能会出现的异常首先是URLError类,这个类是许多异常类的父类它继承自OSError,是urllib.error异常类的基类,由urllib.request产生的异常都可以通过捕获这个类来处理。练习1 error的简单演示# from urllib im原创 2017-07-28 22:27:35 · 245 阅读 · 0 评论 -
python爬虫学习第二十天
今天的练习是如何把 API 和网络数据采集结合起来:看看维基百科的贡献者们大都在哪里。练习1 获取维基百科的匿名贡献者IP(test15.py)from urllib.request import urlopenfrom bs4 import BeautifulSoupimport randomimport datetimeimport re# 获取内链接def getlinks(arti原创 2017-08-13 22:21:39 · 213 阅读 · 0 评论 -
python爬虫学习第十二天
今天学习了用Beautifulsoup函数来获取指定的节点,以及用当前结点顺藤摸瓜找到其子节点,后代节点,兄弟节点,父节点。练习1 findAll 函数抽取只包含在 标签里的文字 还顺便把class=’red’标签里的内容也提取了# from urllib.request import urlopen# from bs4 import BeautifulSoup# r = urlopen('h原创 2017-08-05 21:51:26 · 193 阅读 · 0 评论 -
python爬虫学习第一天
今天开始学习python网络爬虫,写个博客作为笔记以及自己的学习过程以监督自己。今天学习了urllib这个python包的一部分内容,主要是urllib.request内容简记: urllib.request.urlopen()详解 利用以上最基本的urlopen()方法,我们可以完成最基本的简单网页的GET请求抓取。 data参数 data参数是可选的,如果要添加data原创 2017-07-25 23:13:44 · 388 阅读 · 0 评论 -
python爬虫学习第二十一天
今天的主题:存储数据 练习1 urllib.request.urlretrieve 根据文件的 URL下载文件(单个文件)# from urllib.request import urlretrieve# from urllib.request import urlopen# from bs4 import BeautifulSoup# html = urlopen('http://www.py原创 2017-08-14 21:12:01 · 202 阅读 · 0 评论 -
python爬虫学习第二十三天
今天的内容与MySQL有关 MySQL是当今使用最广泛的关系式数据库,具体请到他们的官网查看首先是用命令行操作数据库,利用这个过程来熟悉MySQL。 CREATE DATABASE scraping USE scraping CREATE TABLE pages( id BIGINT(7) NOT NULL AUTO_INCREMENT, title VARCHAR原创 2017-08-16 21:42:16 · 239 阅读 · 0 评论 -
python爬虫学习第九天
今天学习了requests的高级功能 关键词: 上传文件 cookies 会话 ssl上传文件的方法主要是通过post的files参数携带文件传递给目标服务器requests里cookies的操作方法比urllib的要好用不少,直接在头中声明cookies,在get/post方法的参数中设置header参数,就可以完成一次携带cookies的通信想要模拟在网站登陆后进一步进行其他操作,就原创 2017-08-02 21:40:06 · 262 阅读 · 0 评论 -
python爬虫学习第十五天
今天首先把昨天的练习3重复做了一遍,还是有些不熟练,不过好多了。 今天的主题是采集整个网站,主要涉及是根据链接一步步的把整个网站全部采集,形成网站地图 昨天的练习3# from urllib.request import urlopen# from bs4 import BeautifulSoup# import re# import datetime# import random# d原创 2017-08-08 21:15:52 · 265 阅读 · 0 评论 -
python爬虫学习第八天
今天学习完了requests.get(),requests.post()以及requests的其他一些基础功能 大体内容就是给get/post请求添加头信息,以及验证返回结果的状态(200/404)练习8 不传递头信息,就不能正常请求某些网页(实际上是许多网页)# import requests# r = requests.get('https://www.zhihu.com/explore')原创 2017-08-01 22:10:18 · 299 阅读 · 0 评论 -
python爬虫学习第十四天
今天学习了一些爬虫的实际应用,具体请见练习题,练习3 我做的过程中看了两次书(之前已经阅读过一遍代码)不太熟练,明天开始之前在把这个练习做一遍。练习1 维基百科中的所有链接(包含向其他词条的链接和不包含词条的页面的链接)# from urllib.request import urlopen# from bs4 import BeautifulSoup# r = urlopen('http://原创 2017-08-07 22:19:45 · 233 阅读 · 0 评论 -
python爬虫学习第七天
今天学习了requests这个模块 这个模块不是python自带的,需要下载一下 方法很简单,打开cmd,输入:pip3 install requests 几乎是(就是)傻瓜式安装 装好之后用python命令行测试一下(忘命令行里直接打import requests,没报错就OK啦)requests的功能比urllib要强大许多,用它基本上大部分网站都能爬了。requests的功能比较多,这原创 2017-07-31 22:36:45 · 274 阅读 · 0 评论 -
python爬虫学习第六天
今天回到宿舍10点半了,没看多少东西,稍微写一点就当打卡了。 今天看了使用urllib.robotparser分析robots协议首先介绍下robot协议 robots协议也被称作爬虫协议、机器人协议,它的全名叫做网络爬虫排除标准(Robots Exclusion Protocol),同来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取。它通常是一个叫做robots.txt的文本文件,放在网原创 2017-07-30 23:07:09 · 207 阅读 · 0 评论 -
python爬虫学习第十六天——今天有点晚,请假一天
今天回来的很晚了,写不了什么东西了,请假一天 看了接下来的内容,要写一个互联网爬虫,代码比之前的复杂而且只给出了大体思路(不能直接copy下来运行)今天时间不太够了,明天把今天的份儿补上原创 2017-08-09 23:06:24 · 230 阅读 · 0 评论 -
python爬虫学习第十七天——我来还昨天的债了~
昨天欠下的时间只能牺牲中午休息时间来补一下了练习1 图下是获取当前页面内链接加外链接的函数 内链接我定义的是访问时需要把当前url加在前面才能正常访问的链接 外连接只要直接当成url使用就可以成功访问from urllib.request import urlopenfrom bs4 import BeautifulSoupimport reimport randomimport dat原创 2017-08-10 12:04:32 · 233 阅读 · 0 评论 -
python爬虫学习第二十六天
今天第一个内容是如何处理.docx文件(微端microsoft office广泛使用的文件格式)微软 Office 产品中 Word 用 .doc 文件格式。这种二进制格式很难读 取,而且能够读取 word 格式的软件很少。为了跟上时代,让自己的软件能够符合主流软 件的标准,微软决定使用 Open Office 的类 XML 格式标准,此后新版 Word 文件才与其他 文字处理软件兼容,这个格式就是原创 2017-08-19 21:03:10 · 366 阅读 · 0 评论 -
python爬虫学习第十九天
今天的主题与API有关,这里的API仅仅指的是网络应用APIAPI使用 不同 API 的调用语法大不相同,但是有几条共同准则。当使用 GET 请求获取数据时,用 URL 路径描述你要获取的数据范围,查询参数可以作为过滤器或附加请求使用。 例如,下面这个虚拟的 API,可以获取 ID 是 1234 的用户在 2014 年 8 月份发表的所有博文: http://socialmediasite.co原创 2017-08-12 21:38:43 · 243 阅读 · 0 评论 -
python爬虫学习第十一天——新书开始
找到了一本非常厚的python爬虫书籍:《python网络数据采集》 估计够学好一阵子的了今天首先学习一个叫BeautifulSoup的库,这个库是目前做爬虫最常用的一个库。打开cmd输入:pip install beautifulsoup4即可无脑安装(安装完成后别忘了打开python命令行试试)练习1 初探beautifulsoup beautifulsoup的功能非常多,这个例子是用它来解原创 2017-08-04 21:13:03 · 276 阅读 · 0 评论 -
python爬虫学习第三天
今天把第一节urllib.request看完了,感觉对如何用python模拟浏览器申请网页文档有了一个大概的了解。但感觉离入门还差的远练习8 使用proxy——handler 创建代理# from urllib.error import URLError# from urllib.request import ProxyHandler,build_opener# proxy_handler = P原创 2017-07-27 21:44:54 · 217 阅读 · 0 评论 -
python爬虫学习第二十五天
首先,前一章还有一节内容是讲用python发送邮件的,但是我的电脑配置不好SMTP(simple mail transfer protocol)客户端,所以这部分的练习做不了。下面进入下一章,读取文档。 本章重点介绍文档处理的相关内容,包括把文件下载到文件夹里,以及读取文档并提取数 据。还会介绍文档的不同编码类型,让程序可以读取非英文的 HTML 页面。不同的网站有可能会用不同的编码方式组织01信原创 2017-08-18 21:17:44 · 214 阅读 · 0 评论