爬虫学习| 尚硅谷

urllib——爬取网页

1个类型,6个返回值

urllib.request.urlopen(url) 得到的类型是HTTPResponse

下载 ——  可以下载网页、图片、视频

 请求对象的定制

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54'}

请求头,有很多标签。 前面带: 的都不能要

传递url的参数——转成unicode编码 

1.get方法

a.1个参数:get请求的quote方法   

 b.多个参数:get请求的urlencode方法

# request=urllib.request.Request(url=url,headers=headers)
# response=urllib.request.urlopen(request)

2.post方法

爬取页数限制   ——ajax的get请求 

指定页码内容爬取

解析网页

xpath

可以解析本地html文件、服务器响应内容(常用)

需要安装lxml库

用xpath插件可以检查  查询的内容是否正确

提取图片时, 会有“懒加载”, 即图片的标签在图片全部加载显示完毕后可能会变, 要以变之前的标签为准来提取  【参考072】

jsonpath

只能解析本地文件,不能解析服务器文件

1.在网页[network]中找到接口,保存为本地文件

2.对本地文件进行解析

需要把提取到的content清理之后以json格式存入到本地文件中,再对本地文件操作

条件过滤需要 加?      [?(@.isbn)]

beautifulSoup

可以解析本地文件、网页数据

b4库中 ,有无空格不影响

soup.select()返回的是列表

 获取节点信息

 bs4有一些坑,建议用xpath,下图为二者对比  

 反爬

可以用以下代码检查是否有反爬机制,若content包含想要内容,则正常爬取

若不包含,则有反爬机制;使用headers进行爬取

Requests库

唯一一个“非转基因”的库,只能用于Python 

特点:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值