• 首页
  • Android
  • Java
  • Python
  • 信息安全
  • 闲扯淡

Guge's blog

以大多数人的努力程度之低,根本轮不到去拼天赋

爬虫

边学边做-Python网站爬虫(一)

2014年12月17日 by Guge Leave a Comment

结合以前JAVA代码,用Python写了一个类似的爬虫,为了更好的练习,因此未采用诸如beautyful soup之类的强大工具库,代码比较挫:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# encoding=utf8
import urllib2
import re
class sitecrawl:
def __init__(self,url):
self.url = url
def crawl(self):
site = self.url
head = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Language' : 'zh-CN',
'Accept-Charset':'gb2312',
}
req = urllib2.Request(site,headers=head)
html = urllib2.urlopen(req).read()
#urlre = re.compile(r']*?href=.*?<\/a>')
urllist = re.findall('href=".*?(.*?)"',html)
#urllist = urlre.findall(html)
href = []
#','.join(urllist)
#print urllist
for i in urllist:
if ".pdf" in i or "@"  in i or ".rar" in i or ".zip"  in i or ".jpg"  in i or ".js"  in i or ".css"  in i:
continue
if i[0:7] != "http://":
i = self.url + i
if i[-1] == "#" or i[-1] == "/":
i = i[0:len(i)-1]
#href.append(i)
#print href
print i
#print i[0:7]
#print i[-3:]
#print href
go = sitecrawl('http://www.37.com/')
go.crawl()

接下来考虑加入去重,多线程先缓一缓吧

Posted in: Python Tagged: 爬虫

JAVA爬虫-初测成功

2014年10月21日 by Guge Leave a Comment

功能:
1.对网站中的所有链接进行爬取
2.判断是否为外站链接,进行过滤
3.自动消除完全一样的重复链接
4. 判断是否为动态链接,超过两个以上,进行过滤
目前测试下来,公司网站爬下来的时间在6-8秒内(跟网速也有一定关系)

psb (2)

[详细阅读…]

Posted in: Java Tagged: 爬虫

爬虫思路(想到哪里写到哪里)

2014年10月21日 by Guge Leave a Comment
1.从输入的Domain开始爬取当前页面的URL链接;
2.将爬到的当前页面URL链接放入Unvisit和Visited两个数组中;
3.利用递归遍历Unvisit数组中的URL链接;
4.由于使用的是HashSet数组进行消重处理,因此需要建立一个临时数组Object o[]对其进行赋值,然后遍历逐个获取URL链接;
5.对遍历到的o[0](数组中的第一个)URL链接进行再次爬取,并将获得页面URL放入Unvisit数组(但是在放入数组前需要做判断);
6.判断1:将步骤5中获取到的URL链接与Visited数组中的URL进行对比,如存在两个或两个相同以上的URL链接,则保留2个,其余舍弃;
7.判断2:步骤6中过滤后的URL链接放入Unvisit数组时,进行重复判断,如重复,则不放入,反之,加入;
8.将o[0]的URL加入Visted数组,然后将o[0]的URL从Unvisit数组中删除,不断循环;
9.判断:如Unvisit数组为NULL时,退出(break)。
Posted in: Java Tagged: 爬虫

网络爬虫需要思考的问题(有待完善)

2014年10月21日 by Guge Leave a Comment

1.Url消重,假如是一些大型门户网站的话,其Url数量是非常庞大的,将Url放入数组的话,对内存的占用会非常厉害,效率也就随之降低。
解决方案:将Url先放入一个List数组,但List数组有一个限定的大小,如果超过这个大小,就将Url转存至数据库,并清空数组中的Url,以便可以加入新的Url;
2.爬虫的广度优先问题,初始的Ulr获得所有站内链接后,开始对这些链接进行二次爬(二层),而这些链接获得Url并不能立即再去爬,而是等以上所有链接爬完后再爬(三层),如图1。同时还有一个问题,当爬二层链接时,应对初始Url进行删除,即对所有链接进行爬的时候,不再将初始Url列入其中,同样在爬三层链接时,要将初始以及二层Url进行排除,如图2;

[详细阅读…]

Posted in: Java Tagged: 爬虫

基于Webkit技术实现Ajax和DOM爬取的网络爬虫

2014年10月21日 by Guge Leave a Comment

1.爬虫的介绍

800

 

网络爬虫(web spider)是一个自动的通过网络抓取互联网上的网页的程序,在当今互联网中得到越来越广泛的使用。这种技术一般用来爬取网页中链接,资源等,当然,更为高级的技术是把网页中的相关数据保存下来,成为搜索引擎,例如著名的google和百度。常见的爬虫应用还有像一淘这样的比价网站,电影推荐网站等。
[详细阅读…]

Posted in: 信息安全 Tagged: webkit, 爬虫

微信公众平台

站内搜索

标签

360 Activity ADB Android android studio apktool arm BCTF CSRF CTF drozer hacker精神 IDA ISG java线程 Json Launch4j MySQL ndk Phantomjs python ROP xposed xss Zaker 一周安全 信息安全 信息安全,干货 加壳 华尔街之狼 安全 安全干货 安全竞赛 寄存器 干货 数据库 查找 步长 每天一个小程序 爬虫 程序员 系统信息获取 脱壳 逆向 遍历

近期文章

  • 关于绕过域名(ip)的一些小技巧
  • 骨哥电台第4期:马斯克之地启示录1
  • 骨哥电台第3期:了解马斯克
  • 骨哥电台第2期:钢铁侠原型-霍华德·休斯的故事
  • 它终于让我换下了使用多年的谷歌浏览器

友情链接

CRoot' Blog
void* Future

Copyright © 2021 Guge's blog.

Omega WordPress Theme by ThemeHall