zoukankan      html  css  js  c++  java
  • 爬虫学习

    1、requests   模块

      res = requests.get("url")    请求网页

      res.text      将获取的网页转化成文本格式

      具体函数

      res = requests.get("url")

      res.text  ====>获取文本

      res.content   ====>下载内容

            举例    img_res= rrequests.get(url)     =======>获取要下载的文件的url

                  name  =  "name"+".jpg"    ==========>文件命名成要下载的内容的格式  一般url最后 都有格式 比如  jpg    MP4   等

                  with open   ("name",‘wb’)  as  f:     ======》打开文件,以前面  编写的名字为文件名     一个下载文件要建立一个存放文件

                    f.write(img_res.content)    =======>下载文件进入存放文件,自动转化成我们要下载的文件

      res.encoding  =====>解码方式

      res.aparent_encoding   ======>获取解码方式

      res.status_code    ======>  获取访问的状态码     200表示成功

                            404  表示访问不成功

                            300  是否 稳定网站

      res.cookies.get_dic()   =======>获取字典类型的cookies

      requests.get("url",cookie = {"xx":"xxxx"})

          重点  正对POST类型的网站,可以在网页检查中寻找  发送的data  数据类型     post数据的键名   在network   from data  这个栏目里面

              获取POST  页面 返回的LOCATION(解决 有searchid   的网站)

              如果是返回 302,response header 里面就有 location 这个 header
                  r = requests.post('http://xyz.com/302',data = data) 
                  r.headers['Location']

                  还有一个简单做法就是:
                  r = requests.post(url, allow_redirects=True)
                  print(r.url)

      requests.post(url,data)

        url  =  找到的post请求的网址

        data   ==  在network 里面找到的列表名称和要输入的数据  组成的一个字典结构    data里面 再带上刚才post获取的cookie   就可以实现登陆  或者取得location  里面的网址  就是要登陆的网址  res.hearders["location"]

      

    2、beautifulsoup

      soup = beautifulsoup(res.text,features="lxml")   =======>建立soup对象    lxml的效率是最高的

      v1 = soup.find("div")    =====>寻找第一个div  标签下的内容

      v1 =soup.find(id = "il")  ======>寻找id是il的标签里的内容  

      v1 =soup.find("div",id="il")  ========>寻找第一个id等于il的  div标签 里的内容   两个条件同时满足     id可以改成其他属性

      v2 =soup.find_all("div")    =====>寻找所有div  标签下的内容     列表类型

      v2 =soup.find_all(id = "il")  ======>寻找所有   id是il的标签里的内容   列表类型

      v2 =soup.find_all("div",id="il")  ========>寻找所有的id等于il的  div标签 里的内容   两个条件同时满足     列表类型

      obj =v1  获取标签内容

      obj = v2[0]    获取标签内容

      obj.text    获取标签内容文本格式

      obj.attrs    获取标签  属性内容

                            

  • 相关阅读:
    什么是ORM
    ORM优缺点
    Azure 中快速搭建 FTPS 服务
    连接到 Azure 上的 SQL Server 虚拟机(经典部署)
    在 Azure 虚拟机中配置 Always On 可用性组(经典)
    SQL Server 2014 虚拟机的自动备份 (Resource Manager)
    Azure 虚拟机上的 SQL Server 常见问题
    排查在 Azure 中新建 Windows 虚拟机时遇到的经典部署问题
    上传通用化 VHD 并使用它在 Azure 中创建新 VM
    排查在 Azure 中新建 Windows VM 时遇到的部署问题
  • 原文地址:https://www.cnblogs.com/ychj/p/9652684.html
Copyright © 2011-2022 走看看