大佬教程收集整理的这篇文章主要介绍了Python爬虫学习框架介绍,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于初学者来说c;摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多c;因为技术总会跟随时代发生快速变化c;而知识体系往往变化较小c;今天我们以自学的角度来了解一下Python爬虫的知识体系吧。
一、python爬虫提取信息的基本步骤:
1c;获取数据
2c;解析数据
3c;提取数据
4c;保存数据
二、python爬虫学习框架
requests库主要功能是模拟浏览器发送请求c;获取网页数据。最重要的方法就是requests.get()方法c;其次还有3个重要属性:response.text(获取网页文本)、response.content(获取二进制内容)、response.encoding(更改网页编码方式)。
2c;beautifulsoup库
beautifulsoup库主要功能是解析网页与信息提取。其实我们平时日常工作还是用得比较少c;因为不够便捷!你没听错c;虽然beautifulsoup库也可以实现大部分网页的信息提取c;但是我还是推荐Xpath(需配合谷歌浏览器xpath插件使用)c;另外还有大名鼎鼎的正则表达式(re)c;不过使用频率较少。
附上xpath语法及简单案例
import requests,time #载入库
from lxml import etree #载入xpath需要的解析器
for page in range(1,2): #爬取页数
url = f@R_616_7159@ttps://www.fabiaoqing.com/biaoqing/lists/page/{pagE}.html"
headers = {
"user-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
} #网址及请求头
#f@R_616_7159@ttps://www.fabiaoqing.com/biaoqing/lists/page/{pagE}.html"与@R_616_7159@ttps://www.fabiaoqing.com/biaoqing/lists/page/{}.html".format(pagE)用法一致。
r = requests.get(url,headers=headers) #发送网络请求
time.sleep@R_772_11269@ #time库c;用来等待1秒c;减少网站服务器压力
print(r.status_code) #打印状态码
html = etree.HTML(r.text) #将网页文本放入解析器
results = html.xpath("//div[@class='tagbqppdiv']/a/img") #提取目标网址
for result in results: #遍历序列
tpurl = result.xpath("./@data-original")[0] #提取网址文本
print(tpurl) #打印网址
tp = requests.get(tpurl,headers) #获取图片
with open(tpurl[-10:],"wb") as f: #保存
f.write(tp.content) #保存为二进制内容
f.close() #关闭文件
学会前面两个库和xpath选择器c;那么恭喜你c;你已经掌握了至少60%的网页爬取方法。
3c;异步加载数据的提取(Ajax异步)
比如网易云音乐、QQ音乐等。这里要分两种情况c;一种是异步加载c;一种是算法加密。异步加载只需要通过浏览器的XHR选项c;找到发送请求真正的网址c;采用json数据提取方式即可(方法同字典格式);算法加密的数据直接使用SELEnium库获取c;以免掉头发。
4c;带参数请求提取翻页数据(处理翻页)
在处理异步加载时c;一般都需要处理网址翻页c;这个时候就需要多查看几个后面的网址c;总结网址翻页的规律c;再通过网址参数发送请求即可。
学会前面4步c;那么恭喜你c;你已经掌握了至少80%的网页爬取方法。
5c;cookies与session(处理登录与评论)
有些网站的数据是非公开的c;比如淘宝c;携程等c;需要登录c;这时候就需要使用python去模拟登录c;当然也可以模拟发送评论信息。
SELEnium库是通过指挥浏览器工作c;间接获取网页信息c;可以无视网页加密和快速处理登录c;优势相当明显c;大力推荐使用c;但需要配置浏览器驱动。
学会前面6步c;那么恭喜你c;你已经掌握了至少90%的网页爬取方法。
7c;gevent库与queue模块(多协程异步和队列)
如果你有大规模的数据需要获取c;可以学习使用这两个模块c;非专业工作者可以直接跳过。
8c;scrapy库
以上是大佬教程为你收集整理的Python爬虫学习框架介绍全部内容,希望文章能够帮你解决Python爬虫学习框架介绍所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。