爬虫入门学习

流程

  • 获取网页内容
    HTTP请求
    Python Requests
  • 解析网页内容
    HTML网页结构
    Python Beautiful Soup
  • 储存或分析数据

HTTP (Hypertext Transfer Protocol)

客户端和服务器之间的请求-响应协议

Get方法:获得数据

POST方法:创建数据

  • HTTP请求

    请求行 方法类型 资源路径?查询参数 协议版本

    POST /user/info?new_user=true&... HTTP/1.1

    请求头 主机域名 客户端相关信息 想接受的响应数据类型

    Host:www.

    User-Agent:

    Accept: /

    请求体 客户端传给服务器的其他任意数据

  • HTTP响应

    状态行 协议版本 状态码 状态消息

    HTTP/1.1 200 OK

    响应头 告知客户端的信息(响应时间、响应内容类型、编码格式

    响应体 服务器给客户端的数据内容

Python Requests

  • 安装
    pip install requests
python 复制代码
import requests
伪装浏览器请求
headers = { "User-Agent": "Mozilla/5.0(Windows NT 10.9; Win64; x64)"
response = requests.get("网址")
if response.ok:
    获取响应体内容
    print(response.text)
else:
    print("请求失败")

HTML 定义网页的结构和信息

  • 常用标签
c 复制代码
<h1>标题</h1>
<p>文本段落</p>
<br>换行
<b>加粗</b>
<img src="" width="500px">图片
<a href="链接" target="跳转方式_self/_blank">链接名</a>
<div></div> 容器 块级元素 独占一块
<span></span> 容器 内联元素 一行可有多个
<ol>有序列表
    <li></li>
    <li></li>
</ol>
<ul>无序列表
    <li></li>
    <li></li>
</ul>
表格
<table 边框border="1">
    <thead>头部</thead>
    <tbody>主体
        <tr>行
            <td>列</td>
        </tr>
    </tbody>
</table>
class属性 类可以用于所有元素帮助分组
<p class="content"></p>

Beautiful Soup

  • 安装
    pip install bs4
  • 基本用法
python 复制代码
from bs4 import BeautifulSoup
import requests
content = requests.get("").text
# 传入构造函数
soup = BeautifulSoup(content, "html.parser")
# 解析成树状结构的实例对象
all_prices = soup.findAll("p", attars={"class": "price_color"})
# 返回可迭代对象
for price in all_prices:
    print(price.string[2:])

正则表达式库re

根据自定义规则匹配一个或多个字符

多线程库threading

让不同线程同时爬取多个网页

数据分析

待进一步学习

工具 腾讯chatBI

相关推荐
CV学术叫叫兽18 分钟前
一站式学习:害虫识别与分类图像分割
学习·分类·数据挖掘
我们的五年29 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
好看资源平台1 小时前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
一棵开花的树,枝芽无限靠近你1 小时前
【PPTist】添加PPT模版
前端·学习·编辑器·html
进击的六角龙1 小时前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂1 小时前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
VertexGeek1 小时前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
湫ccc1 小时前
Python简介以及解释器安装(保姆级教学)
开发语言·python
孤独且没人爱的纸鹤1 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
羊小猪~~1 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j