《python数据爬取 技术与实战手册》

1. HTML

HTML文件基本构成

<!DOCTYPE html>                               //声明为html5文档
<html lang="en">                              //语言属性为英文
<head>                                        //是所有头部元素的容器
  <meta charset="UTF-8">                      //声明编码方式为 UTF-8
  <title> </title>                            //页面标题
</head>                                       //<head> 结束 
<body>                                        //html的主题内容
  <h1> </h1>                                  //标题  从<h1>到<h6>由大到小 
  <p>                                         //段落
  <!-- 这是一段注释-->
  

<body>
</html>

属性

HTML标签可以在开始标签中添加属性,为HTML标签提供一些附加信息
比如说

<body bgcolor='grey'>                         //背景颜色
<h1 align='left'>                             //对齐方式
<p id="usersname">                            //id属性是标签在网页的唯一标识  
<>           

有一些在网页中经常看到的元素,比如超链接,图像,表格,列表,表单等

1.超链接

一般用包含href属性的<a>标签创建超链接,<a>标签一般包含三个属性,

  • <href> 存放要跳转到的目标网址
  • <target> 决定点开链接后,目标网页在何处出现,默认为"_self"
  • <name>
<a href="https://www.baidu.com/"> Baidu <a>
<a href="https://www.baidu.com/" name="baidu"> Baidu <a>
<a href="https://www.baidu.com/" target="_blank"> Baidu <a>     //新标签页
<a href="https://www.baidu.com/" target="_self"> Baidu <a>      //当前页面
<a href="https://www.baidu.com/" target="_parent"> Baidu <a>    //父窗口?

2.图像

标签为<img> ,<img>为空标签,即只有属性,没有闭合标签
一般有两个属性 源地址(src)和替代文件(alt)

 <img src="图片地址" alt="替代文本">

alt属性的作用是在src无法加载时显示替代文本,有利于用户在网络不畅的情况下了解图片内容


3.表格

<table> </table>标签,首先用<tr> </tr>分行 (table row),再用<td> </td>分格(table date)

<table>
    <tr>
        <td>1</td>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
        <td>4</td>
    </tr>
</table>
效果

4.列表

分为两类,有序列表和无序列表 ,其中包含<li></li> (list item)

  • <ul></ul> 无序列表 (unordered list)
    <ul>
        <li>123</li>
        <li>456</li>
    </ul>
效果
  • <ol></ol> 有序列表 (ordered list)
    <ol>
        <li>123</li>
        <li>456</li>
    </ol>
效果

5.表单

<form> </form>
一般用来做输入框,表单元素最重要的元素是<input>,<input>也是一个没有结束标签的空标签,主要用于收集用户输入


re库

python中正则表达式功能都集成在re模块中


match()和search()

  1. match() 必须从头开始匹配
  2. search() 全部
    若匹配成功,返回一个对象,否则null,该对象有两个方法:
    1. group()
    2. groups()
      若正则表达式中无分组,group()返回匹配结果,groups ()返回空元组
      若正则表达式中有分组,group()和group(0)返回整个匹配结果,group(n)返回第n个分组的匹配结果,groups()返回元组,元素为每一组的匹配结果

findall() : 返回列表包含所有匹配的子串,如果包含分组,则只返回分组的那一部分,如果有多个分组,以列表嵌套元组返回
split() : 返回列表,表示字符串被某字符分解
sub() : sun(a,b,c) 用b替换c中的a, 或者

import re
r = 'a'
r = re.compile(r)
a = ' a bcdefg'
print(r.sub('s', a))

这两种方法都是返回替换后的字符串,字符串本身不变
compile() : 将正则表达式字符串预编译,在数据较大情况下可加快速度

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容