欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python——爬虫(1)

程序员文章站 2022-07-14 10:46:24
...

数据检索

1.requests库
【安装】

  1. 用管理员身份运行cmd
  2. 输入 pip install requests
  3. 测试requests库是否安装完成

python——爬虫(1)

用百度网站测试requests库是否安装成功

python——爬虫(1)


```python
>>> import requests #调用requests库
>>> r=requests.get("https://www.baidu.com/") #访问“百度”这个网站
>>> r.status_code #查看该网站的状态码
200  #200代表访问成功,其他数字代表失败
>>> 

```python
>>> r.encoding='utf-8' #使用'utf-8'的方式解码
>>> r.text #打印页面

python——爬虫(1)

requests的7个主要方法

python——爬虫(1)
python——爬虫(1)
python——爬虫(1)

2.head()方法

>>> r=requests.head("https://www.baidu.com/")
>>> r.status_code
200
>>> r.headers
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Mon, 27 Jan 2020 12:34:35 GMT', 'Last-Modified': 'Mon, 13 Jun 2016 02:50:08 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18'}
>>> r.text
''

只返回了头部信息,可以快速判断该网页的概要信息,而不展示该网页全部信息

python——爬虫(1)

3.post()方法

用于向服务器提供新增数据,不会覆盖服务器原有字段,注意与put()方法的区别
python——爬虫(1)
提交字典型的键值对时,出现在from下方的原因:
提交给服务器的字典型信息默认存储于表单的字段下

python——爬虫(1)
而字符串形式,直接存储于data字段下

4.put()方法

和post()方法类似,用于向服务器提供新增数据,但会覆盖服务器原有字段
python——爬虫(1)

5.patch()方法

向服务器提供局部修改请求

爬取网页的通用代码框架

定义:一组代码,准确的,可靠的爬取网页上的内容

requests库的6种异常

python——爬虫(1)

import requests
def getHTMLText(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()#如果状态不是200,引发HTTPError异常
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return"产生异常"
        
if __name__=="__main__":
    url="https://www.baidu.com/"
    print(getHTMLText(url))

其中,r.raise_for_status()代码行可以有效的判断访问链接状态

运行结果

python——爬虫(1)
python——爬虫(1)
当忘记输入"http://"的错误下
python——爬虫(1)
python——爬虫(1)