爬虫基础知识

2019-04-28  本文已影响0人  Donald_32e5

一、定义

二、流程

三、requests的基本使用

1、requests是Python的一个网络类库
2、requests的作用就是发送网络请求,返回响应数据

# 目标url
url = 'https://www.baidu.com' 

# 向目标url发送get请求
response = requests.get(url)

# 打印响应内容
print(response.text)
2、response的常用属性
3、reponse.text 和reponse.content的区别
4、发送带参数的请求,有两种方式
# 方式一:利用params参数发送带参数的请求
import requests

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}

# 这是目标url
# url = 'https://www.baidu.com/s?wd=python' 

# 最后有没有问号结果都一样
url = 'https://www.baidu.com/s?' 

# 请求参数是一个字典 即wd=python
kw = {'wd': 'python'} 

# 带上请求参数发起请求,获取响应
response = requests.get(url, headers=headers, params=kw) 

# 当有多个请求参数时,requests接收的params参数为多个键值对的字典,比如 '?wd=python&a=c'-->{'wd': 'python', 'a': 'c'}

print(response.content)
# 方式二:直接发送带参数的url的请求
import requests

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}

url = 'https://www.baidu.com/s?wd=python'

# kw = {'wd': 'python'}

# url中包含了请求参数,所以此时无需params
response = requests.get(url, headers=headers)
5、requests发送POST请求
# data为字典格式
response = requests.post("http://www.baidu.com/",  data = data, headers=headers)
6、使用代理
# proxies是字典格式
proxies = { 
      "http": "http://127.0.0.1:12333", 
      "https": "https://127.0.1:12333", 
      }
requests.get("http://www.baidu.com",  proxies = proxies)


通过上图可以看出:


根据代理ip的匿名程度,代理IP可以分为下面四类:

在使用的时候,毫无疑问使用高匿代理效果最好

上一篇下一篇

猜你喜欢

热点阅读