Python爬虫(持续更新)
robots.txt 协议 君子协定
eg1:
from urllib.request import urlopen
url = "http://www.baidu.com"
urlopen(url)
resp = urlopen(url)
with open("mybaidu.html", mode="w",encoding= "utf-8")as f: #创建一个文件
f.write(resp.read().decode("utf-8"))
print("over!")
1.Web请求过程剖析
服务器渲染:在服务器那边直接把数据和html整合在一起,统一返回给浏览器
在页面源代码中能看到数据
客户端渲染:第一次请求只要一个html骨架,第二次请求拿到数据,进行数据展示
在页面源代码中看不到数据
熟练使用浏览器抓包工具
2.Http协议
超文本协议 Hyper Text Transfer Protocol
请求:
请求行 -> 请求方式(get/post) 请求url地址 协议
请求头 -> 放一些服务器要使用的附加信息
请求体 -> 一般放一些请求参数
响应:
状态行 -> 协议 状态码等200 404 302
响应头 -> 放一些客户端要使用的一些附加信息
响应体 -> 服务器返回的真正客户端要用的内容(HTML,json等)
请求头中爬虫需要:
1.user-agent:请求载体的身份标识
2.Referer:防盗链(这次请求是从哪个页面来的?反爬会用到)
3.Cookie:本地字符串数据信息(用户登录信息,反爬的token)
响应头中的一些重要内容:
1.cookie:本地字符串数据信息(用户登录信息,反爬的token)
2.各种字符(需要经验)
请求方式:GET POST
3.Requests入门
安装:pip install requests 清华大学国内源
#eg1: GET请求
import requests
query = input