随笔

不知道写些什么,就随便写一点吧。

自学scrapy 中,所以写了一些爬虫。

以上的具体信息需要打开看看。

每个都能正常运行。

只做练习所用,不提供修改或其他问题的解答。

如有需要可以去 fork ~

做为最后,争取一个星期写一个爬虫~~

spider rosioo

今天练习写爬虫,爬取了rosioo的图

  1. 由于是初学.
  2. 再加上自己也没有帐号。

故 爬取都是免账号,非高清大图的。

分页代码

1
2
3
4
5
6
7
8
9
urls = response.xpath('//*[@id="imgBox"]/li/a/@href').extract()
if urls:
for url in urls:
yield scrapy.Request(url=r"http://www.rosiok.com"+url, callback=self.parse2)
next_page = response.xpath('//*[@class="cPage"]/li[last()]/a/@href') # next page
if next_page:
url = response.urljoin(next_page[0].extract())
yield scrapy.Request(url, self.parse)

下载代码

1
2
3
4
5
6
7
8
9
10
def get_media_requests(self, item, spider):
for image_url in item['img_url']:
yield scrapy.Request(image_url)
def item_completed(self, results, item, spider):
image_paths = [x['path'] for ok, x in results if ok]
if not image_paths:
raise DropItem("Item contains no images")
item['image_paths'] = image_paths
return results

上运行图:

运行图

爬取的图片就不上了~

项目地址:项目地址

anaconda install scrapy tips

安装了anaconda后,也成功安装了scrapy,但是到scrapy新建项目时,直接报错。

错误如下:

1
2
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: DLL load failed: 操作系统无法运行 %1

各种测试,最后直接google之。发现了解决方案url,
通过文中所说,删除了window/system32/libeay32.dllssleay32.dll,不过我的建议是重命名,直接后面加_bak就好,免得出什么问题。

本机win10 没有ssleay32.dll,故之重命名了libeay32.dll,问题完美解决。

之后在看看有没有其他问题。

忘记说了,anaconda + pycharm 的包管理我是直接使用terminal,在进入虚拟环境,之后进行conda install 安装的。这个是不能直接通过pycharm的内置包管理器进行包的安装。或许是由于自己没有使用anaconda为默认的python3解释器,导致了pip安装好像也是使用的官方原版的python3.所以pip安装会出现一些问题。不过conda好像更强大。。。

优美的钢琴曲

试一试看看hexo 能不能加载flash。

虾米的钢琴曲

1
<embed width="250" height="350" allownetworking="internal" allowscriptaccess="never" src="http://www.xiami.com/widget/13194141_136882001_235_346_e29833_60362a_1/collectPlayer.swf" quality="high" bgcolor="#ffffff" wmode="transparent" allowfullscreen="true" type="application/x-shockwave-flash"></embed>

apk反编译

不知道为什么,使用apk改之理不能对apk编译,编译总是出错。

google之,告知需要升级apktool版本,结果看了下自己的版本是最新版。

双眼懵逼了。。。。。

找资料发现,说是先吧apk改成zip,解压缩里面的 classes.dex
之后再用 dex2jar 转成 jar格式,再使用 jd-gui 打开。

这个方法比较麻烦,突然想起来apk还有反编译神器,那就是jeb。

立马去52pojie下载

运行jeb ,直接把apk拉进去,稍等片刻反编译成功。

github fork star 按钮放到自己的网站上

把github 上的fork star watch 等按钮放到自己的网站上

效果如下:



Star

具体代码如下:

1
2
3
<script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/tennc/webshell" data-count-href="/tennc/webshell/stargazers" data-count-api="/repos/tennc/webshell#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star tennc/webshell on GitHub">Star</a>

方法打开https://buttons.github.io/ 就清楚了

官方的:https://buttons.github.io/

顺便附上非官方地址:http://ghbtns.com/

本博使用官方,安全。

顺便小记一下,hexo博客内容支持html原始标签,可以直接渲染。
如果不想被渲染。如下:

1
2
3
{% raw %}
your html
{% endraw %}

Sn1per 安装小记

今天来记录下 Sn1per 安装过程。

项目地址:Sn1per

所用系统 kali2.0 最新版

更新kali到最新

1
apt-get update && apt-get dist-upgrade

若询问 一直都是‘Y’ or ‘y’

克隆 Sn1per 项目:

1
git clone https://github.com/1N3/Sn1per

pic1.jpg

给install.sh 赋予执行权限

1
chmod +x install.sh

pic2.jpg

进行安装

1
./install.sh
1
+ -- --=[This script will install or upgrade your Sn1per installation. Are you sure you want to continue?

这里会询问是否继续安装,直接回车就好

注意红色框,那里就是询问是否继续安装。直接回车(确认继续安装)。

pic3.jpg

之后会提示安装一些必需库,输入‘Y’即可 不区分大小写

pic4.jpg

此时,安装所需库后,在clone 安装 github 上的其他所需项目

时间由网速,个人电脑配置有关,如果github被墙,可以修改hosts,从而可以正常的clone

约莫20分钟左右,安装完毕。

提示这个就是安装完毕。

1
2
3
+ -- --=[Setting up environment...
+ -- --=[For universal sniper access, be sure to edit sniper to include the full path for the SNIPER_DIR variable.
+ -- --=[Done!

pic5.jpg

测试运行一下。

1
./sniper testphp.vulnweb.com

pic6.jpg

正常运行。

python 参数库小记

从乌云社区里发现了一个python参数库docopt,看起来挺不错的,去google搜了下看到了一篇国外的Comparing Python Command-Line Parsing Libraries - Argparse, Docopt, and Click,文章里做了简单的对比及介绍,自己也小小的记录下。

文中介绍了3个参数库,1个位python自带,2个位第三方库,需要通过pip安装。

docopt 安装

1
pip install docopt

docopt demo code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
# author:
# date: 2016/6/8
# filename: docopt_test.py
"""
Usage:
docopt_test.py tcp <host> <port> [--timeout=<seconds>]
docopt_test.py -h | --help | --version
"""
from docopt import docopt
if __name__ == '__main__':
arguments = docopt(__doc__,version='0.0.1')
print(arguments)

docopt 运行截图:

docopt_test.jpg

click 安装

1
pip install click

click demo code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
# author:
# date: 2016/6/8
# filename: click_test.py
import click
@click.group()
def greet():
pass
@greet.command()
def hello(**kwargs):
pass
@greet.command()
def goodbye(**kwargs):
pass
if __name__ == "__main__":
greet()

click 运行截图:

click_test.jpg

argparse 这个就是系统自己带的参数库

argparse demo code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
# author:
# date: 2016/6/8
# filename: argparse_test.py
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
hello_parser = subparsers.add_parser("hello")
goodbye_parser = subparsers.add_parser("goodbye")
if __name__ == "__main__":
args = parser.parse_args()

argparse 运行截图:

argparse_test.jpg

上面2个第三方库不加参数运行默认是提示的,而argparse 不加参数运行时空提示。

自己感觉还是 docopt 不错哈~ 推荐使用。

,