爬虫简介
网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
服务器交互方式
http中与服务器定义的几种基本交互方式,get、post、delete、put、head和options。get请求常用于查询获取资源信息,常见表现形式url传递参数数据,以?开始&分隔参数值。post请求向服务器提交数据。put请求向服务器端发送信息修改数据。delete请求向服务器发送信息删除数据。
request模块
简介:
用于处理http请求的http客户端模块,爬虫制作需要引入此模块。
基本用法:
①导入requests模块
import requests
②可以请求网址进行交互
requests.get("url")
requests.post("url")
requests.put("url")
request.delete("url")
GET请求
①直接传入url地址
requests.get("http://www.baidu.com")
②分别传入url地址和dict型参数
request.get(url=url,params=dict)
举例:
import requests
r=requests.get("http://www.baidu.com") #直接访问地址
'''-----------------------分割线---------------------------'''
url = ("http://www.baidu.com") #通过变量传参
data={'key1':'世界杯','key2':'赔率'}
r=requests.get(url=url,params=data)
print(r.url) #打印请求url
结果:
http://www.baidu.com/?key1=%E4%B8%96%E7%95%8C%E6%9D%AF&key2=%E8%B5%94%E7%8E%87
常用属性和方法
url #打印返回地址
text #以文本方式返回html源码
content #以字节流返回html源码
cookies #返回cookies信息
status_code #打印状态码
headers #返回html头信息
encoding #处理字符集
更改头信息
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36'}
r = requests.get('https://www.qiushibaike.com/', headers=header)
print(r.text)
print(r.headers)