Python爬虫教程(纯自学经历,保姆级教程)

1. 爬虫原理是什么

网络爬虫是按照一定规则自动抓取网页信息的程序。它模拟浏览器发送HTTP请求获取网页源代码,然后解析并提取所需的数据。

2. 从哪里爬取网页内容

爬虫获取的是浏览器解析之前的源代码。这些源代码通常是HTML文档,包含了网页的结构和内容。

3. 爬到的内容长什么样

自动化从网页上获取信息、提取信息和保存信息的过程。以下是一个HTML文档的示例:

<!DOCTYPE html>
<html>
<head>
    <title>Example Domain</title>
</head>
<body>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</p>
    <a href="https://www.iana.org/domains/example">More information...</a>
</body>
</html>

4. 页面内容获取

网页爬虫能够获取网页上的信息。要使用Python来爬取网页内容,需要安装requests模块,该模块可以用于获取网络数据。

4.1 安装requests模块

在使用requests模块之前,需要先安装它:

pip install requests

然后,在代码中使用import导入requests模块:

import requests

4.2 使用requests.get()发送请求

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

使用get()函数时,需要传入要访问网页的URL,就像浏览器打开URL一样。requests.get()函数是模拟浏览器请求网页的过程:

import requests

# 将网页链接赋值给url
url = "https://xxx.com"

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

# 输出response对象
print(response)
示例响应

requests.get()是获取网页信息的主要函数,使用该函数获取案例网页的URL,会返回一个Response对象,也就是前面说到的响应消息。

使用print输出响应消息会得到Response [200],表示响应消息中状态码为200,说明此次浏览器的请求执行成功。

4.3 检查状态码

使用.status_code属性可以查看状态码。如果状态码返回为404,表示服务器无法找到请求的资源。只有状态码返回为200时,才能够成功获取到网页内容。

import requests

# 将网页链接赋值给url
url = "https://xxx.com"

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

# 获取状态码,并赋值给statusCode
statusCode = response.status_code

# 输出statusCode,这里输出的状态码数据类型是整型
print(statusCode)

使用条件判断语句if..else先判断状态码,当状态码等于200时,再进行下一步操作:

import requests

# 将网页链接赋值给url
url = "https://xxx.com"

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

# 使用if语句判断.status_code属性获取的状态码等于200时
if response.status_code == 200:
    # 输出response.status_code
    print(response.status_code)
# 不满足条件时
else:
    # 输出:请求数据失败
    print("请求数据失败")

4.4 提取网页内容

使用.text属性可以将获取到的网页信息提取出来。

import requests

# 将网页链接赋值给url
url = "https://xxx.com"

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

# 使用if语句判断.status_code属性获取的状态码等于200时
if response.status_code == 200:
    # 使用.text属性获取网页前1000个字符的内容,并赋值给content
    content = response.text[:1000]
    # 输出content
    print(content)
# 不满足if的条件时
else:
    # 输出 请求数据失败
    print("请求数据失败")

4.5 解析网页内容

为了更好地解析和提取网页内容,我们通常使用BeautifulSoup库。首先,安装BeautifulSoup4

pip install beautifulsoup4

然后,使用BeautifulSoup解析网页内容并提取所需的数据:

import requests
from bs4 import BeautifulSoup

# 将网页链接赋值给url
url = "https://xxx.com"

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

# 使用if语句判断.status_code属性获取的状态码等于200时
if response.status_code == 200:
    # 使用.text属性获取网页内容
    content = response.text
    # 使用BeautifulSoup解析网页内容
    soup = BeautifulSoup(content, 'html.parser')
    
    # 提取标题
    title = soup.title.string
    print(f'网页标题: {title}')
    
    # 提取所有链接
    links = soup.find_all('a')
    for link in links:
        href = link.get('href')
        text = link.text
        print(f'链接文本: {text}, 链接地址: {href}')
# 不满足if的条件时
else:
    # 输出 请求数据失败
    print("请求数据失败")

使用Python编写一个简单的爬虫,从网页上获取信息并提取所需的数据。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HJX—

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值