吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3653|回复: 10
收起左侧

[Python 转载] [爬虫基础] Requests教程: 让 HTTP 服务人类

[复制链接]
lookcos 发表于 2020-2-16 12:06
本帖最后由 lookcos 于 2020-2-16 12:11 编辑

0. 前言:
目前,随着人工智能与大数据时代的到来,也带火了一批编程语言,这其中就包括Python。
在这个连房地产大佬潘石屹都学python的时代,不会点python着实不好意思。
不过话说回来,学会了python的确能够运用在生活中,提高生活效率。
比如,帮你下载图片或者视频,抢个火车票,推送信息等等。
Python的基础,可以参考菜鸟教程,廖雪峰的博客等进行学习。


1. 简易爬虫工作简述:

在这之前推荐简单了解一下http协议。
爬虫在爬取一个网站时,首先会获取该网页的内容,然后在进行正则匹配或者html解析等方法解析出我们需要的内容。
那么第一步便是:通过一个get请求,请求到有效的网页html。
2.完成一次 Http GET请求


python自带的库 完成一个简单的get请求事这样的,
[Python] 纯文本查看 复制代码
from urllib import request
response = reqeust.urlopen('https://www.baidu.com')
print(response.read().decode())


我推荐使用第三方模块requests,一般来说常见的爬虫项目中用的也是这个模块,因为他简单而强大,也是我们今天讲述的重点。

windows安装
可以在powershell或者cmd中执行 pip install requests,为了提升安装的速度,推荐使用清华源,
可以执行pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

Linux、Mac 安装:
可以执行:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

下面就可以使用了:

# -*- coding:utf-8 -*-
import requests
pojie_url = "https://www.52pojie.cn"
res = requests.get(url=pojie_url)
res = requests.get(pojie_url)
res = requests.get("https://www.52pojie.cn")

print(res.status_code) 输出当前请求后的HTTP状态码,200 为成功, 404为没有找到页面,500为内部服务器错误,这里可以百度HTTP 状态码。
如图,其中
[Python] 纯文本查看 复制代码
[/font]
[font=-apple-system, BlinkMacSystemFont, "]res = requests.get(url=pojie_url)[/font][/size][/font][/backcolor][/color]res = requests.get(pojie_url)
res = requests.get("https://www.52pojie.cn")

这三种方法,任选一种即可。res就结果的意思。
我们可以接着敲,print(res.text)
就能得到我们想要的html文本。


比较长,我这里只贴图一部分。我们在对这些文本进行 借助其他的Python模块,使用正则匹配或者html解析等方式可以得到我们想要的内容。

image.png 今天先说最简单的请求,有空再更新对付更复杂的 需要登录以及 添加headers 等操作。这里不再展开讲述。

免费评分

参与人数 4吾爱币 +4 热心值 +4 收起 理由
ymhld + 1 + 1 继续发表,正想学习这一块知识
moxiaoyu + 1 + 1 感谢您的宝贵建议!!
kakazl + 1 + 1 用心讨论,共获提升!
sukanka + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

名词 发表于 2020-2-16 13:30
支持大佬
feiying10256 发表于 2020-2-28 19:02
5260zl 发表于 2020-2-28 22:49
shi128862 发表于 2020-2-29 11:02
支持,简单易懂
for52sake 发表于 2020-3-1 13:09
学习了,requests一句搞定
头像被屏蔽
楼台不望月 发表于 2020-4-27 14:23
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| lookcos 发表于 2020-5-1 09:12
楼台不望月 发表于 2020-4-27 14:23
请问下,我使用requests访问https会报错,报错信息如下:raise SSLError(e, request=request)
requests.ex ...

是因为你访问过于频繁吧
头像被屏蔽
楼台不望月 发表于 2020-5-1 09:16
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| lookcos 发表于 2020-5-3 08:01
楼台不望月 发表于 2020-5-1 09:16
那应该怎么解决了?

用代{过}{滤}理IP池,或者慢点访问,线程数量控制好
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 01:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表