当前位置:网站首页>由浅入深:小白爬虫学习之旅(1)
由浅入深:小白爬虫学习之旅(1)
2022-04-22 05:39:00 【菜滴抠脚】
目录
1.谷歌浏览器开发者模式
如何打开:F12/右键检查(或快捷键CTRL+Shift+i)调出
开发者工具最常用的四个功能模块:元素,控制台,源代码,网络.
元素(Elements):用于查看HTML元素
网络(network): 网络页面主要用于查看header等与网络连接相关的信息.
2.requests库获取静态网页数据
requests库

生成请求:

在使用get获得网络请求后会获得一个response对象
response对象的5个属性:

Get 方法获取网上资源的时候会有以下两种状态:

- 请求头设置
访问网站时如果网站报400的错误,说明网站有反爬虫策略,通常通过设置headers中的USER-Agent解决(header是个字典的形式,里面有Key,和对应的Value值):

- Timeout设置
目的:避免因等待服务器响应而造成永远失去响应.(设置应该合理,减少等待时间)
- 生成完整的HTTP请求
完整HTTP请求:链接,请求头,超时时间,状态码,正确的编码格式
3.requests库获取动态网页信息
- 静态网页:网页内容和HTML源码一致
- 动态网页:网页内容和HTML源码不一致

判断网页类型的方法:
- 右击,查看网页源代码
- F12,开发者工具查看源代码
若1,2相同则是静态网页,若1,2不相同则是动态网页
在网页数据获取前先确定是什么网页类型,动态网页数据获取要找到正确的网页地址.
4.urllib获取网页数据
- urllib库
urllib库是python内置的HTTP请求库

urllib库在python2和python3中有所不同
在python2中:import urllib2
在python3中:import urllib.request
- urllib库爬取一个网页
- urlopen()方法的参数
用urlopen()方法进行网页页面的爬取
- urlopen()参数的使用

- data参数:
必须是一个bytes对象
必须是标准格式,使用urllib.parse.urlencode()进行格式准换
默认值为None
发送post请求时,data参数必须有
- timeout参数:
超时时间
单位为秒
使用代理时,查看代理的状态
版权声明
本文为[菜滴抠脚]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_57240377/article/details/118757251
边栏推荐
猜你喜欢
随机推荐
蓝桥杯31天冲刺 Day7
子集和问题(回溯&分支限界)
二分类任务为什么常见用softmax而不是sigmoid
Leetcode interview question 17.09 Number k -- dynamic programming
最大连续子序列和(枚举+分治+在线处理)
考研结束了
Redis: redis cli is not an internal or external command
Data mining -- decision tree classification
LeetCode 589. N 叉树的前序遍历
TCGA database Ensembl ID is transformed into gene symbol to extract the required RNA species expression profile list information
meilisearch使用记录
Torch recurrent neural network nn. RNN () and torch nn. RNNCell()
初学C语言用什么编译器(文章末尾有惊喜)
golang 计算天数 四舍五入 time
raspberry keras-ocr can‘t allocate memory in static TLS block
LeetCode 467. Dynamic programming -- the only substring in the surrounding string
scikit-learn中的PCA
torch nn.Parameter可训练参数定义
蓝桥杯31天冲刺 Day3
LeetCode 514. 自由之路--动态规划









