![c8d5efddb23dfe06c8e221bb93df29ad.png](https://i-blog.csdnimg.cn/blog_migrate/7a186ec2354741297d7697e07e9b09f9.jpeg)
我们爬虫就是模拟手机或电脑向服务器发出请求,请求成功后便提取出自己所需的内容。当然,这需要很多的前置知识。
爬虫大致分为3部分:一、获取网页内容 二、提取数据 三、保存数据
一、获取网页内容
【1】关于网页:1目前网页大多采用HTML来描述页面信息(HTML就是网页的内在组成);网页都有一个地址(url);网页遵从HTTP(明文传输,效率高但不安全)或HTTPS(没错就是你,天天见面!!)协议;
![e57c1bcf44cf3e05147f106adfc9b374.png](https://i-blog.csdnimg.cn/blog_migrate/15db6e74c6cb56e46327bfd1ec3e7a79.jpeg)
【2】如何获取网页方式,用python写下相应的程序,然后发送请求给服务器(没错,就是经常“崩”的服务器,哈哈!!) ##其中,有2种请求方式,1st:post(需要登录类的,信息量较大的内容) 2get(内容较少的网页)
【3】获取的方法(懒得敲字了,上代码!!)【推荐用requests库】
import requests # 引入库
url = "http://www.baidu.com" # url:网页地址
head = {"User-Agent":"Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122 Safari / 537.36"} # 在network里找,再复制粘贴
response = requests.get(url,headers=head) # 访问稍复杂的网页
response.encoding = "utf-8" # 解码
html = response.text
print(html)
import urllib # 引入库
url = "http://www.baidu.com" # url:网页地址
head = {"User-Agent":"Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122 Safari / 537.36"} # 在network里找,再复制粘贴
request = urllib.request.Request(url, headers=head) # urllib库有点麻烦(不推荐),直接用requests简单多了
response = urllib.request.urlopen(request)
html = response.read().decode("utf-8") # 解码
print(html)
response解码的方法:
- response.content.decode() #二进制字节转换为字符串 [类型:bytes ]
- response.text前要加一句response.encoding = "utf-8" 或"gbk" [类型:str ]
- response.text直接解码
注:总有一种适合你(按顺序使用!!)
【4】错误提示 4xx(比如404,出现418说明你已经被服务器发现是爬虫了)
注:url乱码时,可用url解码工具解码
![0e2a3a8bdae41da16464e759c166db4a.png](https://i-blog.csdnimg.cn/blog_migrate/e6be5ceb22fbd48bab14999cff4b70ce.jpeg)