Python爬虫

Posted lzz807237221

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫相关的知识,希望对你有一定的参考价值。

  1. 运行环境: python3.7  win7x64
  2. 使用工具: VS Code
  3. python 第三方库: requests (自行安装 >>> cmd --->pip install requests, 具体不做介绍)
  4. requests 库简介
requests 库的网页请求函数
函数 说明
get(url [, timeout=n]) 对应HTTP的GET方式,设定请求超时时间为n秒
post(url, data={‘key‘:‘value‘}) 对应HTTP的POST方式,字典用于传输客户数据
delete(url) 对应HTTP的DELETE方式
head(url) 对应HTTP的HEAD方式
options(url) 对应HTTP的OPTIONS方式
put(url, data={‘key‘:‘value‘}) 对应HTTP的PUT方式,字典用于传输客户数据

其中,最常用的是get方法,它能够获得url的请求,并返回一个response对象作为响应。有了响应对象,就能为所欲为了,你觉得呢  ^x^

response对象的属性
属性 说明
status_code HTTP请求的返回状态(???咨询一下)
encoding HTTP响应内容的编码方式
text HTTP响应内容的字符串形式
content HTTP响应内容的二进制形式
response对象的方法
方法 说明
json() 若http响应内容中包含json格式数据, 则解析json数据
raise_for_status() 若http返回的状态码不是200, 则产生异常

(一)先试一试爬一次的效果

# -*- coding: utf-8 -*-
"""
Created on Mon May 20 10:13:57 2019

@author: lzz
"""

import requests
def gethtmlText(url):
    try:
        r=requests.get(url,timeout=30) #打开文件
        r.raise_for_status()   #返回状态 
        r.encoding=utf-8   #把文件编码默认为utf-8
        return r.text      #返回文本
        #return r.content
    except:
        return ""
url="http://www.baidu.cn"
for i in range(1):
    print(getHTMLText(url))
    print(len(getHTMLText(url)))

技术图片

 

其中返回的text的属性长度为技术图片技术图片

 

 

返回的content属性长度为技术图片

 

 

(二)爬20次的效果

# -*- coding: utf-8 -*-
"""
Created on Mon May 20 10:13:57 2019

@author: lzz
"""

import requests
def getHTMLText(url):
    try:
        r=requests.get(url,timeout=30) #打开文件
        r.raise_for_status()   #返回状态 
        r.encoding=utf-8   #把文件编码默认为utf-8
        #return r.text      #返回文本
        return r.content
    except:
        return ""
url="http://www.baidu.cn"
for i in range(20):
    print("Test %d:" % (i+1), end=" ")
    response = requests.get(url, timeout=30)
    # 判断连接状态
    if response.status_code == 200:
        print("Conncect successful!")
    else:
        print("Conncect UNsuccessful!")

 

 

 

技术图片

 

 

以上是关于Python爬虫的主要内容,如果未能解决你的问题,请参考以下文章

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

python爬虫学习笔记-M3U8流视频数据爬虫

爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别

python网络爬虫

Python 利用爬虫爬取网页内容 (div节点的疑惑)

为啥我的python爬虫界面与博主不一样