搜索
查看: 3846|回复: 3

Python爬虫 获取网站所有的网址

    [复制链接]

137

主题

219

帖子

482

积分

中级会员

中国黑客

Rank: 3Rank: 3

积分
482
QQ
发表于 2020-2-21 18:06:17 | 显示全部楼层 |阅读模式


最近几天,闲来无事研究了Python爬虫。写了一个简单的脚本,来看看效果吧!



import os  
import re  
import shutil  
  
REJECT_FILETYPE = 'rar,7z,css,js,jpg,jpeg,gif,bmp,png,swf,exe' 
  
def getinfo(webaddress):   
    global REJECT_FILETYPE  
    url = 'http://'+webaddress+'/'  
    print 'Getting>>>>> '+url
    websitefilepath = os.path.abspath('.')+'/'+webaddress   
    if os.path.exists(websitefilepath):   
        shutil.rmtree(websitefilepath)     
    outputfilepath = os.path.abspath('.')+'/'+'output.txt'   
    fobj = open(outputfilepath,'w+')  
    command = 'wget -r -m -nv --reject='+REJECT_FILETYPE+' -o '+outputfilepath+' '+url  
    tmp0 = os.popen(command).readlines()  
    print >> fobj,tmp0  
    allinfo = fobj.read()
    target_url = re.compile(r'\".*?\"',re.DOTALL).findall(allinfo)  
    print  target_url
    target_num = len(target_url)  
    fobj1 = open('result.txt','w')     
    for i in range(target_num):
        if len(target_url[i][1:-1])<70:   
           print >> fobj1,target_url[i][1:-1]     
        else:  
          print "NO"
    fobj.close()  
    fobj1.close()  
    if os.path.exists(outputfilepath):   
        os.remove(outputfilepath)  
   
if __name__=="__main__":  
    webaddress = raw_input("Input the Website Address(without \"http:\")>")  
    getinfo(webaddress)  
    print "Well Done."

这里,我已逍遥子大表哥的博客为例。效果如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
谁有敬业福啊!
回复

使用道具 举报

2

主题

23

帖子

41

积分

vip用户

Rank: 6Rank: 6

积分
41

活跃会员

发表于 2020-2-21 21:56:26 | 显示全部楼层
爬虫需谨慎,有个朋友因为提供爬虫技术爬了一个游戏网站,结果行政拘留7天,罚款5000

点评

说的是!  发表于 2020-2-22 14:24
回复 支持 反对

使用道具 举报

2

主题

6

帖子

10

积分

新手开车

Rank: 1

积分
10
发表于 2020-2-23 11:50:38 | 显示全部楼层
你好,有会渗透吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
我知道了
快速回复 返回顶部 返回列表