爬虫学习笔记


爬虫的学习笔记,以后更新。

页面结构

页面由两个结构构成,head和body。

<!DOCTYPE html>


<html lang="en">
    <head>


        <meta charset="UTF-8">
        
        <title>Title</title>


    </head>
    
    <body>

        
        
    </body>
</html>

表格标签

<table>
              <tr>
                  <td>
                      姓名
                  </td>
              </tr>

      </table>

无序列表 li

<ul>
    <li>
        
    </li>
</ul>

有序列表

<ul>
    <ol>
        
    </ol>
</ul>

超链接

<a href="www.baidu.com">百度</a>

urllib库使用

urllib.request.urlopen() 模拟浏览器向服务器发送请求


response 服务器返回的数据

response的数据类型是HttpResponse

字节‐‐>字符串
解码decode
字符串‐‐>字节
编码encode
read() 字节形式读取二进制 扩展:rede(5)返回前几个字节
readline() 读取一行
readlines() 一行一行读取 直至结束
getcode() 获取状态码
geturl() 获取url
getheaders() 获取headers
urllib.request.urlretrieve()
请求网页
请求图片
请求视频

下载

urllib.request.urlretrieve(url,'baidu.html')

下载一个网页

请求对象的定制

UA介绍:User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统
及版本、CPU 类型、浏览器及版本。浏览器内核、浏览器渲染引擎、浏览器语言、浏览器插件等

request = urllib.request.Request()

编解码

get请求方式:urllib.parse.quote()

对汉字编码进浏览器网址

eg:
import urllib.request
import urllib.parse
url = 'https://www.baidu.com/s?wd='
headers = {
'User‐Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
url = url + urllib.parse.quote('小野')
request = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(request)
print(response.read().decode('utf‐8'))

get请求方式:urllib.parse.urlencode()

eg:
import urllib.request
import urllib.parse
url = 'http://www.baidu.com/s?'
data = {
'name':'小刚',
'sex':'男',
}
data = urllib.parse.urlencode(data)
url = url + data
print(url)
headers = {
'User‐Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/74.0.3729.169 Safari/537.36'
}
request = urllib.request.Request(url=url,headers=headers)

post请求方式

import urllib.request
import urllib.parse
url = 'https://fanyi.baidu.com/sug'
headers = {
'user‐agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
keyword = input('请输入您要查询的单词')
data = {
'kw':keyword
}
data = urllib.parse.urlencode(data).encode('utf‐8')
request = urllib.request.Request(url=url,headers=headers,data=data)
response = urllib.request.urlopen(request)
print(response.read().decode('utf‐8'))

ajax的get请求


Author: Never
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Never !
  TOC