py爬虫初阶
2021-04-26 14:20:21 0 举报
AI智能生成
Python爬虫初阶教程
作者其他创作
大纲/内容
超文本传输协议
http与https
http
https
常用请求头
User-Agent
Connection
常用响应头
Content-type
加密方式
对称秘钥加密
非对称秘钥加密
证书秘钥加密
requests
1下载requests模块
2请求数据方式
2requests.get(url, params=param, headers=header)
url:需要请求的url
param:传参的参数
headers:所带请求头
3requests.post(post_url, data=param, headers=header)
url:需要请求的url
data:传参的参数
headers:所带请求头
3响应数据
response.text:响应结果的文本对象
response.content:响应结果的二进制流对象
response.json():如果接口返回数据为json数据类型可以直接使用json()
xpath学习
1 / 根节点开始便利 一个斜杠表示一个层级
2 // ①表示多个层级 例如 /html//title
②//title 表示从任意位置定义节点,找到所有title
②//title 表示从任意位置定义节点,找到所有title
3 属性定位 tag[@attrName ="attrValue"] ://div[@class = "aside_title"]
4 索引定位 /div[@id="top_right_nav"]/ul/li[1] 采用 [1-n] 来定位其中第几个
5 定位到子标签 先获取 r 通过r 遍历 './/text()' 以./开始获取从当前标签开始获取数据
6 定位到文本值 /li/text() 获取li标签中的文本值
r = tree.xpath('//div[@class = "book-mulu"]//li//text()')
7 定位到属性值 /li/@attrName 来获取li标签中某个属性值
r = tree.xpath('//div[@class = "book-mulu"]//li/@src')
cookie
session回话对象
可以进行请求发送
如果请求过程中产生了cookie ,则该cookie会被自动储存/携带在该session对象中
session
创建一个session对象 session = requests.getSession()
使用session对象进行访问时,cookie等会被存储在session中
在用session去范围需要用户登录的页面数据(携带了cookie)
ip代理
代理能干什么
如何代理
高性能异步爬虫
多线程 多进程(不建议)
多线池 多进池(适当使用)
线程池的使用
一,导入模块并实例化 线程池对象
from multiprocessing.dummy import Pool
pool = Pool(5)
from multiprocessing.dummy import Pool
pool = Pool(5)
二,调用线程池pool方法,前者参数是后者集合
ages:传参集合 为给method传参的参数列表集合:如[(1,2),(3,4)]
method:调用方法 如 sub(i,j)
pool.map(ages, method)
ages:传参集合 为给method传参的参数列表集合:如[(1,2),(3,4)]
method:调用方法 如 sub(i,j)
pool.map(ages, method)
0 条评论
下一页