url 收集

这一段时间压力有点大  看了一些web  学了一些基本的sql注入 文件上传还有抓包   然后   就被安排了   让搞Wx  这谁顶得住啊  

不过还是先看了看   python   其中 感觉python  爬虫 挺好玩的 

但是  怎么说呢   爬虫 现在看起来 应该也算是web的一部分了  个人 感觉web安全 也应该学一下 爬虫   

但是现在web安全还没有怎么会      所以玩玩web   看看python 挺好玩的  没事感觉可以写一些好玩的东西·~~~~~

然后 开始今天的正题 

URL收集

参考资料   ichunqiu     Python安全工具开发应用 

用到的库 

import requests
import sys
import threading
from bs4 import BeautifulSoup as bs
import re
import time

语言 python 3.7

然后 这里 的url 收集 是指  假如 想搜索一个关键字  把百度 提供的 所有网址 都取出来  就可以了

这里不得不提一个强大的库 

BeautifulSoup  那是真的好用  

假如    想得到 td标签的  1 5 8  次序  

那么 只需要  

soup=bs(r.content,'lxml')

 urlstring=soup.find_all(name='td')

for i  in [1,5,8]:

      urlstring[i].string

即刻   

就可以了  那是真的好用~~~~~

然后这里没有用到多线程  原因其实也很简单     多线程 处理比较复杂   先不用 多线程了

网址标签确定的地方也很好看的出来  

然后我们再看 url

https://www.baidu.com/s?wd=Python&pn=10

wd  代表的就是我们的关键字  而 0 10 20  代表页数  

然后 然后我们再次确定一次    返回200 的正常码 我们再打印 

#!/user/bin/env python
# -*- coding: utf-8 -*-

import requests
import sys
import threading
from bs4 import BeautifulSoup as bs
import re
import time

header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0'}

def test(word):
    for i in range(0,760,10):#每次 循环十次就够了
        time.sleep(5)
        url=('https://www.baidu.com/s?wd=%s&pn=%s')%(word,str(i))
        print (i)
        r=requests.get(url=url,headers=header)
        soup=bs(r.content,'lxml')
        urls=soup.find_all(name='a',attrs={'data-click':re.compile(('.')),'class':None})
        for url in urls:
            time.sleep(5)
            r_get=requests.get(url=url['href'],headers=header,timeout=8)
            if r_get.status_code==200:
                print (url['href'])
        



if __name__=='__main__':
    if len(sys.argv)!=2:
        print ('Enter:%s word',sys.argv[0])
        sys.exit(-1)
    else:
        test(sys.argv[1])

别问我 为什么时间 设置的那么长  自己 可以设置的短一点 我后面 被限制 了  

所以 ~~~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值