Python爬虫-第一课

1.本课程使用的软件概述

本课程中使用的开发工具:

  • python 3.8 (尽量不要用最新版的python, 老师这里是3.7)

  • pycharm (舒服, 但收费, 联系作者有神秘工具为您解忧)

如果有基础或者玩儿的比较6的玩家也可以选择以下工具:

  • anaconda, jupyter

  • Visual Studio Code

  • python, IDLE (不推荐)

接下来就是安装了. Python安装过程就不赘述了. 注意安装的时候需要把python添加到环境变量中. 其他的没啥注意的

至于Pycharm的安装. 全程一路确定即可.

神秘工具的使用: 恕不外放. 需要的找客服.

2.第一个爬虫程序开发

复制代码
from urllib.request import urlopen
#urllib  --- url:网址  lib --- 库      urllib跟网址相关的一个库
#该库中有一个request的模块 request翻译过来是请求的意思
#urllib.request 在这个模块里有个函数叫urlopen  urlopen --- 打开一个网址

url = "https://www.baidu.com"
#打开一个网址urlopen(url) 这里面肯定有内容 将其赋给req
req = urlopen(url)
#print()打印出该内容 --- 结果打印<http.client.HTTPResponse object at 0x000001452CFAF5B0>
print(req)
#想要拿到内容,就得read() --- 结果:b'<!DOCTYPE html>\n<html>\n<head>\n    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n    <meta h。。。。。。。。。。。
#这里通过b' 可看出拿到是字节 这就需要我们手动把字节变成字符串 需要decode()进行解码
#decode(参数) 参数里得有字符集 --- 一般是 utf-8 或者 GBK 在终端中查看相关信息 或者俩者都试一下
print(req.read().decode('utf-8'))    #此时拿到的是页面源代码
"""
    打印出的结果:
    <!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta content="always" name="referrer" />
    <meta
        name="description"
        .....
"""

#爬虫的过程简易解释图

该图中俩者之间传播的是字符串,服务器中返回的是页面源代码 页面源代码有HTML-CSS-JS

复制代码
#在运行下面代码时,需将上面的代码 print(req.read().decode('utf-8'))注释掉
with open("my_baidu.html",mode="w",encoding="utf-8") as f:
    f.write(req.read().decode("utf-8"))

#使用with:自动管理文件资源

#当你一运行,左边项目中就会出现my_baidu.html文件 里面存放的就是页面源代码

#随便打击括号的浏览器

#点击进入后即是跟百度网页相同的界面 --- 但这个界面属于你自己的

3.整体代码结构图

相关推荐
Sylvia33.3 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
梦想不只是梦与想3 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
ai小陈5 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
2601_962299248 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
2601_962071578 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
学术 学术 Fun9 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
淡海水9 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
2601_962100549 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
CS_Zero10 小时前
C语言sizeof是函数吗?
c语言·开发语言
二进制漫游记10 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding