爬虫基础(下)

requests模块可以用来获取网络数据;

那么对于爬虫来说,要获取下图网页中的内容,就需要网页的URL。

复制链接方法是,打开网页,点击链接框,右键选择复制。

requests.get()函数可用于模拟浏览器请求网页的过程,在Python语言中使用该函数,就能够获取网页数据。

get()函数中传入要访问网页的URL,就像浏览器打开URL一样。

(1)获取网页内容的步骤

(2)代码实现

# 使用import导入requests模块
import requests

# 将网页链接赋值给url
url = "https://*****************/"

# 使用requests.get()方法获取url的内容,将结果赋值给response
response = requests.get(url)

# 输出response
print(response)

返回的response对象,就是响应消息;

(3)获取状态码

在浏览器中查看Response Headers中的信息就能够找到status:200,状态码200代表此次请求执行成功。

使用.status_code属性就可以查看状态码,这里输出的状态码数据类型是整型

import requests

url = "https://nocturne-spider.baicizhan.com/2020/07/29/example-post-3/"

response = requests.get(url)

statusCode = response.status_code

print(statusCode)

而只有状态码返回为200时,才能够成功获取到网页内容。

为满足上面的运行逻辑,我们要使用条件判断语句if..else先判断状态码,当状态码等于200时,再进行下一步操作。


if response.status_code == 200:
   
    print(response.status_code)

else:
   
    print("请求数据失败")

(4)提取信息,获取内容

通过请求URL,获取到了Web服务器返回的信息,

要用.text属性,该属性能够将获取到的信息提取出来。

网页内容多,我们可以用切片(遵循左闭右开,将字符串进行分割)方法,输出前1000个字符;

if response.status_code == 200:
    
    content = response.text[:1000]
    
    print(content)

else:

    print("请求数据失败")

(5)HTML

刚刚输出的内容是HTML语言,它是由许多的标签组成,这些标签构成网页的内容;

这个就是类似输出的HTML语言

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.1.1">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

(5)总结

HTML是构成网页的标记语言。

URL指定了要访问文档的具体地址。

HTTP协议规定了文档的传递方式。

爬虫就是根据URL,通过HTTP协议去获取HTML内容。

相关推荐

  1. 爬虫爬虫基础

    2024-02-23 09:16:01       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 09:16:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 09:16:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 09:16:01       82 阅读
  4. Python语言-面向对象

    2024-02-23 09:16:01       91 阅读

热门阅读

  1. 汽车会撞死人,应不应该限制汽车?

    2024-02-23 09:16:01       45 阅读
  2. lua 拓展math库,增加四舍五入函数 math.round

    2024-02-23 09:16:01       47 阅读
  3. Docker的优势及实际应用

    2024-02-23 09:16:01       46 阅读
  4. LeetCode //C - 901. Online Stock Span

    2024-02-23 09:16:01       56 阅读
  5. haproxy集成国密ssl功能

    2024-02-23 09:16:01       58 阅读