Python 爬虫学习备忘录

爬虫基础

1. 爬虫原理是什么

        网络爬虫(Web Crawler)是按照一定规则自动抓取网页信息的程序。

        网络爬虫就是自动化从网页上获取信息、提取信息和保存信息的过程。、

 2.状态码:响应头(Response Headers)中用于告知浏览器执行结果成功或失败

3.安装requests模块

# 安装requests模块
pip install requests

# 如果安装不上或安装缓慢,可在命令后面添加如下配置进行加速: 
pip install requests -i https://pypi.mirrors.ustc.edu.cn/simple/

注:导入requests模块时,可能会出现如下报错信息。
                ModuleNotFoundError: No module named 'requests'
        出现这种报错原因可能是:模块未安装上或安装路径错误。

4.获取URL网页数据,并输出返回内容

        使用函数:requests.get()获取网页信息。

# 使用import导入requests模块
import requests

# 将网页链接赋值给url
url = "https://www.csdn.net"

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

# 输出response
print(response)

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

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

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

# 使用import导入requests模块
import requests

# 将网页链接赋值给url
url = "https://www.csdn.net"

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

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

# 输出statusCode
print(statusCode)

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

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

5.爬虫开头模板

# 使用import导入requests模块
import requests

# 将网页链接赋值给url
url = "https://mp.csdn.net"

# 使用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("获取数据失败")

6.将获取到的网页信息提取出来

        使用:.text属性

# 使用.text属性获取网页的内容,并赋值给content
content = response.text

7.HTML语言

<!doctype html><html lang="zh" data-server-rendered="true"><head><title>CSDN - 专业开发者社区</title> <meta name="keywords" content="CSDN博客,CSDN学院,CSDN论坛,CSDN直播"> <meta name="description" content="CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区."> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> <meta name="referrer" content="always"> <!----> <!----> <!----> 
        <script src="https://g.csdnimg.cn/tingyun/tingyun.js"></script>
       <!----> <!----> <!----> <link rel="shortcut icon" href="https://g.csdnimg.cn/static/logo/favicon32.ico" type="image/x-icon"> <link rel="canonical" href="https://www.csdn.net"> <!----> 
          <meta name="toolbar" content={"type":"0","fixModel":"1"} />
       
          <meta name="report" content={"spm":"1000.2115"} />
       <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js,user-tooltip/2.7/user-tooltip.js,lib/qrcode/1.0.0/qrcode.min.js"></script> <script src='//g.csdnimg.cn/common/csdn-report/report.js' type='text/javascript'></script> 
         <script src="https://g.csdnimg.cn/user-ordercart/2.0.1/user-ordercart.js?ts=2.0.1"></script>
       <!----> 
          <script src="https://g.csdnimg.cn/common/csdn-login-box/csdn-login-box.js" defer></script>
       
         <script src="https://g.csdnimg.cn/user-ordertip/3.0.2/user-ordertip.js?t=3.0.2"></script>
       <!----> <!----> <!----> <!----> 
      <script>
        window.TINGYUN && window.TINGYUN.init && window.TINGYUN.init(function (ty_rum) {
          ty_rum.server = {   "event_timeout": 60000,   "dr_threshold": 4000,   "opt_custom_param_rule": [],   "cross_page_delay": 3000,   "router_enable": true,   "fp_threshold": 2000,   "token": "568934913a6343de840a781ca5eaba4b",   "beacon": "wkbrs1.tingyun.com",   "trace_threshold": 7000,   "x_server_switch": true,   "ignore_err": false,   "id": "hWg-u0rE5b8",   "key": "Z1Tu5hoKbGw",   "fs_threshold": 4000 };
        });
      </script>
       <!----> 
         <script src="https://g.csdnimg.cn/common/csdn-toolbar/csdn-toolbar.js"></script>
      <link rel="stylesheet" href="https://csdnimg.cn/release/cmsfe/public/css/common.02cbff20.css"><link rel="stylesheet" href="https://csdnimg.cn/release/cmsfe/public/css/tpl/www-index-new/index.2453279e.css"></head> <body><div id="toolbarBox" style="min-height: 48px;"></div> <div id="app"><div><div class="main"><div class="page-container page-component"><div><div class="home_wrap"><div class="content_wrap"><div id="floor-nav_557" floor-index="0"><div comp-data="[object Object]" floor-data="[object Object]" class="blog-nav-tag" data-v-f8e9e086><div class="blog-nav " data-v-f8e9e086><img src="https://img-home.csdnimg.cn/images/20220107105619.png" alt class="blog-nav-down " data-v-f8e9e086> <div class="blog-nav-box" data-v-f8e9e086><ul class="def" data-v-f8e9e086><!----> <!----> <!----> <!----> <li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/back-end" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;back-end&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;back-end&quot;}" data-v-f8e9e086>后端</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/web" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;web&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;web&quot;}" data-v-f8e9e086>前端</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/mobile" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;mobile&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;mobile&quot;}" data-v-f8e9e086>移动开发</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/lang" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;lang&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;lang&quot;}" data-v-f8e9e086>编程语言</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/java" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;java&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;java&quot;}" data-v-f8e9e086>Java</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/python" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;python&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;python&quot;}" data-v-f8e9e086>Python</a></li><li class="navigation-right " data-v-f8e9e086><a href="https://blog.csdn.net/nav/ai" data-report-click="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;ai&quot;}" data-report-view="{&quot;spm&quot;:&quot;1001.2100.3001.7366&quot;,&quot;extend1&quot;:&quot;ai&quot;}" data-v-f8e9e086>人工智能</a></li><li class="navigation-right " 

HyperText Markup Language,超文本标记语言,它用来定义网页内容和结构。
HTML是由一系列的标签组成,这些标签组合起来就是我们浏览器看到的网页。

标签:是用来标记内容块的,主要有两种形式成对出现和单独出现。
成对出现的标签
<开始标签>内容<结束标签>
结束标签只比开始标签多一个斜杠"/"。

1) <html></html>表明这是一个网页文档。
2) <head></head>标签用于定义文档的头部信息,这些信息不会展示在网页中。
3) <body></body>标签用于定义文档的主体,包含网页的图片、文字、链接、视频等多种展现形式。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值