Sunlight 的周报
一、python基础知识重新学习
1.py语言基础
2.条件、循环
3.列表、元组、字典
4.字符串
5.函数
6.类和对象
7.异常
8.方法、属性、迭代器
二、python高级知识学习
- 正则表达式
- 常用模块
- 文件和流
(4. 数据储存
5. TCP和UDP编程
6. 网络高级编程
7. 多线程)很粗略的看了,了解了,还没有完全弄清楚
对于基础和高级知识,都是把书全部看了一遍,书上的代码大多数敲了一遍,把绝大多数概念、用法熟悉了,一个星期学的比我大一上学期一个学期学的多得多(捂脸笑),下周应该做好这方面的笔记,把学习过程记录下来,然后以后方便查阅,也可以巩固记忆。所以下周主要是对这周学的上面的知识进行总结并写出博客学习笔记。
三、python Web爬虫技术学习
1.py爬虫基础
照抄似的写出了第一个基于递归算法的网络爬虫,通过这个爬虫可以抓取到自己设置的HTML文件里的代码。通过入口点url:http://localhost:8888/files来抓取所有的HTML文件。py的代码真的是太简洁了,写一个循环for a in aList,一个递归crawler(url),就可以实现自己想要的功能,py永远滴神。但是我只学到了如何抓取,还没有保存抓取到的数据。下面是源代码:
from urllib3 import *
from re import *
http = PoolManager()
disable_warnings()
def download(url):
result = http.request('GET', url)
htmlStr = result.data.decode('utf-8')
return htmlStr
def analyse(htmlStr):
# <a href='a.html'>a</a>
aList = findall('<a[^>]*>',htmlStr)
result = []
for a in aList:
# <a href='a.html'>
g = search('href[\s]*=[\s]*[\'"]([^>\'""]*)[\'"]',a)
if g != None:
url = g.group(1)
url = 'http://localhost:8888/files/' + url
result.append(url)
return result
def crawler(url):
print(url)
html = download(url)
urls = analyse(html)
for url in urls:
crawler(url)
crawler('http://localhost:8888/files')
四、刷题任务没有完成,因为实在是不会做,SQL注入、php代码审计这样的题目前只能看wp,没有一题是完全靠自己做出来的,目前刷题进度陷入困境。靠着搜wp搞出了buu里的四个题目,题解都不好意思写。但是这周刷题有一个大的收获就是蜜雪冰城甜蜜蜜这个题。我花了5/6个小时去用各种方法尝试都没做出来,这让我对bp的运用更加熟练了很多,对扫描软件和它的应用范围也有了更深的理解。一开始我想的就是破解js加密算法,一直在弄js加密,之后被告知不是js,我就把HTML代码全部一个一个仔细分析了一下,没有分析出来什么东西,所以让我对HTML代码更加熟悉了,知道什么地方可能会有可以改动的或者隐藏的信息。还有就是面对毫无头绪的题目,如何重新理清思路,通过不同的方式去不断尝试,如何克服长时间钻研却没有任何成效的的烦躁,这对于以后的学习是很有帮助的。专注做一件事,不达目的不罢休,如果做成了,那么就会获得无比的成就感。