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.整体代码结构图

相关推荐
思绪无限13 小时前
YOLOv5至YOLOv12升级:快递包裹检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·快递包裹检测
凤凰院凶涛QAQ13 小时前
《C++转JAVA快速入手系列》:基本通用语法篇
java·开发语言·c++
zjun100113 小时前
QT:语言翻译
开发语言·qt
千寻girling13 小时前
机器学习 | 逻辑回归 | 尚硅谷学习
java·人工智能·python·学习·算法·机器学习·逻辑回归
Shadow(⊙o⊙)13 小时前
C++常见错误解析2.0
开发语言·数据结构·c++·后端·学习·算法
永远不会的CC13 小时前
研0上岸找实习面试经历
python·算法·面试
谢谢 啊sir13 小时前
L2-057 姥姥改作业 - java
java·开发语言
l1t13 小时前
duckdb excel插件和rusty_sheet插件在python中的不同表现
开发语言·python·excel
人道领域13 小时前
【黑马点评日记】高并发秒杀:库存超卖与锁机制解析
java·开发语言·redis·spring·intellij-idea
lsx20240613 小时前
《jEasyUI 创建树形下拉框》
开发语言