网络爬虫 requests 的使用

  • 1.get 请求
    • import requests
    • kw = {'wd':'美女'}
    • 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"
    • response = requests.get("http://www.baidu.com/s?",params=kw,headers=headers)  添加参数不需urlencode 编码
    • print(response.request)
    • #打印服务器返回的内容
    • print(response.content.decode())
  • 2.post请求
    • 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"
    • data = {"name":"zhangsan","age":"18"}
    • response = requests.post("http://httpbin.org/post", data = data,headers=headers) 添加参数不需urlencode 编码
    • print(response.request)
    • #打印服务器返回的内容
    • print(response.content.decode())
  • 3.response方法和属性
    • 查看响应内容,response.text 返回的是Unicode格式的数据
    • 查看响应内容,response.content返回的原始二进制字节流,可以用来保存图片等二进制文件。 b'...'
    • 查看完整url地址 response.url
    • 查看响应头部字符编码 response.encoding
    • 查看响应码 response.status_code
    • 如果是json文件可以直接显示  print(response.json())
  • 4.代理
    • 免费代理
      • import  requests
      • # 根据协议类型,选择不同的代理
      • proxies = {
      • "http": "123.139.56.238:9999",
      • }
      • response = requests.get("http://www.baidu.com/", proxies=proxies)
      • print(response.text)
    • 私密代理
      • proxies = {
      • "http": "http://用户名:密码@ip:端口/",
      • }
    • web客户端验证
      • response = requests.get('http://67.228.126:16818', auth =(用户名,密码))
  • 5.cookie
    • import requests
    • response = requests.get("http://www.baidu.com/")
    • # 返回CookieJar对象:
    • cookiejar = response.cookies
    • # 将CookieJar转为字典:
    • cookiedict = requests.utils.dict_from_cookiejar(cookiejar)
    • print(cookiejar)
    • print(cookiedict)
  • 6.处理HTTPS请求 SSL证书验证
    • 如果SSL证书验证不通过,或者不信任服务器的安全证书,则会报出SSLError,据说 12306 证书是自己做的:
    • import requests
    • response = requests.get("https://www.12306.cn/mormhweb/", verify = False)
    • print(response.content.decode("utf-8"))
  • 7.session的使用 登录人人网
    • import requests
    • # 1. 创建session对象,可以保存Cookie值
    • session = requests.session()
    • # 2. 处理 headers
    • 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"}
    • # 3. 需要登录的用户名和密码
    • data = {"email":"用户名", "password":"密码"}
    • # 4. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
    • session.post("http://www.renren.com/PLogin.do", data = data)
    • # 5. session包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
    • response = session.get("http://www.renren.com/880792860/profile")
    • # 6. 打印响应内容
    • print(response.text)
  • 8.urllib3 的使用
    • from urllib3 import PoolManager,disable_warnings
    • http = PoolManager()
    • request = http.request("GET",url,headers=headers)  GET 请求方式 还有POST, url 请求地址,headers自定义的请求头
    • result = request.data.decode()  data 响应内容

猜你喜欢

转载自blog.csdn.net/qq_41654985/article/details/81013517