渗透利器-kali工具 (第四章-5) 爬虫入门

Python爬虫入门spider

1,交换机制:

  服务器与本地的交换机制:

    http协议:客户端与服务器一种会话的方式。

    客户端-------requests\[请求]------->服务器

    客户端-------response\[响应]------>服务器

  HTTP请求:

    向服务器请求的时候使用request请求,包含了很多的不同的方法:主要用到GET、POST

  HTTP响应:

    向服务器提出request之后,服务器会返回给我们一个Response我们请求的这个网页

    RESPONST:

      Status_code:状态码200 网页中的元素

      Status_code:状态码403/404

    可以打开谷歌,加载一个网站然后点击检查>>>nerwork>>>刷新

2,网页解析:

  1.网页解析:需要使用到bs4

    from bs4 import BeautifulSoup

    import requests

    #解析网页内容

    url = "https://www.baidu.com"

    wb_data = requests.get(url)

    soup = BeautifulSoup(wb_data.text,'lxml')

    print(soup)

  2.描述要爬取的元素位置:

    eg:标题在网页中找到它在的位置 >>>右键复制selector

      titles = soup.select('#sy_load > ul:nth-child(2) > li:nth-child(1) > div.syl_info > a')

      print(titles)

      解释:

        #sy_load > ul:nth-child(2) > li:nth-child(1) > div.syl_info:标签的位置:selector

        a:查找a标签

    向上查找上级标签class名:

      titles = soup.select('div.syl_info> a')

      print(titles)

      解释:

        div.syl_info 标签的class名

        a:查找a标签

  3.bs4中具有一个BeautifulSoup安装方法:

    1.安装:pip install beautifulsoup4

    2.可选择安装解析器:

      pip install lxml 一般安装这个即可

      pip install html5lib

    3.使用:

      from bs4 import BeautifulSoup

      import requests

      req_obj = requests.get('https://www.baidu.com')

      soup = BeautifulSoup(req_boj.txt,'lxml')

      不使用BeautifulSoup,只返回状态码

      使用BeautifulSoup,会将站点,html代码返回。

    4.经常使用到的一些方法:

      from bs5 import BeautifulSoup

      import requests,re

      a = requests.get('https://www.baidu.com')

      b = BeautifulSoup(a.txt,'lxml')

      print(b.title)      输入title找标签只找一个

      print(b.find('title'))    输入title找标签只找一个

      print(b.find_all('div'))   找所有div标签

      c = soup.div       创建div的实例化

      print(c'id')       查看标签的id属性  

      print(c.attrs)       查看标签的所有属性

      d = soup.title      创建title的实例化

      print(d.string)      获取标签里的字符串

      e = soup.head      创建head的实例化

      print(e.title)       获取标签,再获取子标签

      f = soup.body      创建body实例化

      print(f.contents)     返回标签子节点,以列表的形式返回

      g = soup.title       创建title实例化

      print(g.parent)      查找父标签

      print(soup.find_all(id='link2'))

3,爬虫所需的模块和库:

  库:requests.bs4

  模块:BeautifulSoup

  1.抓取:requests

  2.分析:BeautifulSoup

  3.存储:

4.目录扫描工具原理实战:

  import requests

  import sys

  url = sys.argv1

  dic = sys.argv2

  with open(dic,'r') as f:

    for i in f.readlines()    一行读取

      i = i.strip()      去除空格

      r = requests.get(url+i)

      if r.stats_code == 200:

        print('url:'+r.url)

相关推荐
jieyucx6 小时前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
wangruofeng7 小时前
68K Star,一个爬虫框架凭什么统一了 HTTP、浏览器和 AI Agent
爬虫·github·ai编程
HackTwoHub8 小时前
某单位 CMS 完整渗透链、SQL 注入→后台拿权→绕过宝塔 Waf 上线 shell
数据库·人工智能·sql·安全·网络安全·系统安全·安全架构
Bryce学亮11 小时前
1688 半自动化拟人浏览信息处理工具爬虫
爬虫·python
简简单单就是我_hehe1 天前
前端埋点日志解决方案:完整 User-Agent 解析工具实现,爬虫识别、设备品牌、操作系统、浏览器版本全解析(附完整源码)
前端·爬虫
上海云盾-小余1 天前
遭 CC 攻击店铺直接瘫痪?WAF + 流量防护双重锁死恶意爬虫
爬虫
IP搭子来一个1 天前
爬虫代理IP怎么选?短效代理 vs 隧道代理选型指南(2026最新)
爬虫·tcp/ip
chengbei121 天前
SoloXSS:一款现代化的自托管 XSS平台
web安全·xss漏洞·xss平台
技术不好的崎鸣同学1 天前
[极客大挑战 2019]EasySQL 思路及解法
网络·安全·web安全
Web极客码1 天前
跨国网络抖动下的 AI 爬虫流调优:我如何用 Claude 打造“智能退避”资讯清洗管道
网络·人工智能·爬虫