1用requests进行网页请求与urlopen差不多,这里省略不说

2抓取网页的学习

import requests

import re

headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}

r=requests.get("https://www.zhuhu.com/explore",headers=headers)

#下面是正则表达式,我在之后学习,这里我看不懂。。

pattern = re.compile('explore-feed.*?question_link.*?>(.*?)</a>', re.S)

titles = re.findall(pattern, r.text)

print(titles)

上面是知乎发现网页抓取的例子,唯一需要注意的是get请求的时候需要添加Headers,不能直接get请求。

3抓取二进制数据

r=requests.get('http://github.com/favicon.ico')

print(r.text)

print(r.content)

抓取的目标是站点的图标

r.text返回的是字符串类型,返回的结果是文本文件

r.content如果返回的结果是图片、音频、视频文件,则获得字节流数据

with open('favicon.ico','wb') as f:

  f.write(r.content)

这样就可以把图标文件存储到了favicon.ico文件中,同样的音频、视频文件也能这样获取。

4post请求

post请求可以像表单提交一样,将表单数据添加到链接中

data = {'name': 'germey', 'age': '22'}

r = requests.post("http://httpbin.org/post", data=data)

print(r.text)

5respones

我们可以通过get请求之后的respons获得更多的信息

例如

r=requests.get('http://www.jianshu.com')

print(r.status_code)

print(r.headers)

print(r.cookies)

print(r.url)

我们可以判断查询码判断请求是否成功

r = requests.get('http://www.jianshu.com')

exit() if not r.status_code == requests.codes.ok else print('Request Successfully')

print(r.history)

状态码存储在Spider-python文件夹中。

python3 爬虫6--requests的使用(1)的更多相关文章

  1. python3爬虫-使用requests爬取起点小说

    import requests from lxml import etree from urllib import parse import os, time def get_page_html(ur ...

  2. python3爬虫-通过requests获取安居客房屋信息

    import requests from fake_useragent import UserAgent from lxml import etree from http import cookiej ...

  3. python3爬虫之requests库基本使用

    官方文档链接(中文) https://2.python-requests.org/zh_CN/latest/ requests  基于  urllib3 ,python编写. 安装 pip insta ...

  4. python3 爬虫相关-requests和BeautifulSoup

    前言 时间的关系,这篇文章只记录了相关库的使用,没有进行深入分析,各位看官请见谅(还是因为懒.....) requests使用 发送无参数的get请求 r = requests.get('http:/ ...

  5. python3爬虫-通过requests爬取图虫网

    import requests from fake_useragent import UserAgent from requests.exceptions import Timeout from ur ...

  6. python3爬虫-通过requests获取拉钩职位信息

    import requests, json, time, tablib def send_ajax_request(data: dict): try: ajax_response = session. ...

  7. python3爬虫-通过requests爬取西刺代理

    import requests from fake_useragent import UserAgent from lxml import etree from urllib.parse import ...

  8. python3 爬虫利用Requests 实现下载进度条

    一.编写代码 from datetime import datetime,date,timedelta from contextlib import closing import urllib,url ...

  9. Python3爬虫使用requests爬取lol英雄皮肤

    本人博客:https://xiaoxiablogs.top 此次爬取lol英雄皮肤一共有两个版本,分别是多线程版本和非多线程版本. 多线程版本 # !/usr/bin/env python # -*- ...

  10. python3 爬虫---爬取豆瓣电影TOP250

    第一次爬取的网站就是豆瓣电影 Top 250,网址是:https://movie.douban.com/top250?start=0&filter= 分析网址'?'符号后的参数,第一个参数's ...

随机推荐

  1. 轻松理解JS中的面向对象,顺便搞懂prototype和__proto__的原理介绍

    这篇文章主要讲一下JS中面向对象以及 __proto__,ptototype和construcator,这几个概念都是相关的,所以一起讲了. 在讲这个之前我们先来说说类,了解面向对象的朋友应该都知道, ...

  2. 不用rustup,Windows下gnu版Rust安装与开发环境配置

    写在前面 本文介绍了在不使用rustup的情况下,在Windows上安装gnu版的Rust,并配置开发环境(VSCode + rust-analyzer,CLion + IntelliJ Rust)的 ...

  3. Linux系列——配置SSH免密登录

    ​ 在进行配置之前需要先关闭防火墙.配置hosts映射. 具体参见:Linux系列--常规基础操作 下面重点说明如何配置SSH: 1.编辑sshd服务配置文件,开启免密验证, vi /etc/ssh/ ...

  4. Docker仓库--registry与harbor

      搭建私有仓库的两种方式: Registry Harbor  一.registry的搭建 docker官方提供了一个搭建私有仓库的镜像registry,只需下载镜像,运行容器并暴露5000端口即可. ...

  5. yaml语法及格式校验

    基本语法 1.yml文件以缩进代表层级关系 2.缩进不允许使用tab只能使用空格 3.空格的个数不重要,只要相同层级的元素左对齐即可 4.大小写敏感 5.数据格式为,名称:(空格)值 也就是说,如果冒 ...

  6. 【基础知识】CPU上下文切换(进程上下文切换 - 线程上下文切换 - 中断上下文切换)

    CPU 上下文切换是什么 CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器 ...

  7. 解决gpg failed to sign the data fatal: failed to write commit object解决方案

    今天有位新同事在comit代码的时候一直报这个错误: gpg failed to sign the data fatal: failed to write commit object. 看到网上说gp ...

  8. PDF格式简单分析

    上周因需要编辑了下PDF,用了一两个试用软件,感觉文字版的PDF还是挺好编辑的.想要研究一下PDF格式. 0. 站在前辈的肩膀上 从前辈的文章和书籍了解到 PDF文件是一种文本和二进制混排的格式,二进 ...

  9. Qt:QJsonValue

    0.说明 QJsonValue类用于操作JSON中的各种数据. JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型: 基本类型 存储类型 bool QJsonValue::Bool d ...

  10. Python:格式化字符串的几种方式

    1.% 'abc%s'%'123' 'abc123' 'abc%s%s'%('123','456') 'abc123456' 当变量v是一个Tuple.List且其中元素数量和字符串中%数量相同时,可 ...