程序笔记   发布时间:2022-07-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python爬虫学习框架介绍大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Python爬虫学习框架介绍

    对于初学者来说࿰c;摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多࿰c;因为技术总会跟随时代发生快速变化࿰c;而知识体系往往变化较小࿰c;今天我们以自学的角度来了解一下Python爬虫的知识体系吧。

    一、python爬虫提取信息的基本步骤:

    1࿰c;获取数据

    2࿰c;解析数据

    3࿰c;提取数据

    4࿰c;保存数据

    二、python爬虫学习框架

    1࿰c;requests库 

    requests库主要功能是模拟浏览器发送请求࿰c;获取网页数据。最重要的方法就是requests.get()方法࿰c;其次还有3个重要属性:response.text(获取网页文本)、response.content(获取二进制内容)、response.encoding(更改网页编码方式)。

    2࿰c;beautifulsoup库

    beautifulsoup库主要功能是解析网页与信息提取。其实我们平时日常工作还是用得比较少࿰c;因为不够便捷!你没听错࿰c;然beautifulsoup库也可以实现大部分网页的信息提取࿰c;但是我还是推荐Xpath(需配合谷歌浏览器xpath插件使用)࿰c;另外还有大名鼎鼎的正则表达式(re)࿰c;不过使用频率较少。

Python爬虫学习框架介绍

附上xpath语法及简单案例

Python爬虫学习框架介绍

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%的网页爬取方法。

    3࿰c;异步加载数据的提取(Ajax异步)

    比如网易云音乐、QQ音乐等。这里要分两种情况࿰c;一种是异步加载c;一种是算法加密。异步加载只需要通过浏览器的XHR选项࿰c;找到发送请求真正的网址࿰c;采用json数据提取方式即可(方法同字典格式);算法加密的数据直接使用SELEnium库获取࿰c;以免掉头发。

    4࿰c;带参数请求提取翻页数据(处理翻页)

    在处理异步加载时࿰c;一般都需要处理网址翻页࿰c;这个时候就需要多查看几个后面的网址࿰c;总结网址翻页的规律࿰c;再通过网址参数发送请求即可。

学会前面4步࿰c;那么恭喜你࿰c;你已经掌握了至少80%的网页爬取方法。

    5࿰c;cookies与session(处理登录与评论)

    有些网站的数据是非公开的࿰c;比如淘宝࿰c;携程等࿰c;需要登录࿰c;这时候就需要使用python去模拟登录࿰c;当然也可以模拟发送评论信息。

    6࿰c;SELEnium库

    SELEnium库是通过指挥浏览器工作࿰c;间接获取网页信息࿰c;可以无视网页加密和快速处理登录࿰c;优势相当明显࿰c;大力推荐使用࿰c;但需要配置浏览器驱动。

学会前面6步࿰c;那么恭喜你࿰c;你已经掌握了至少90%的网页爬取方法。

    7࿰c;gevent库与queue模块(多协程异步和队列)

    如果你有大规模的数据需要获取࿰c;可以学习使用这两个模块࿰c;非专业工作者可以直接跳过。

    8࿰c;scrapy库

    scrapy是一个非常优秀的网络爬虫框架c;应该有所耳闻吧!适合于大规模数据的提取࿰c;自学者可以尝试一下。

学会前面8步࿰c;那么恭喜你࿰c;你已经掌握了大规模数据的爬取方法。

大佬总结

以上是大佬教程为你收集整理的Python爬虫学习框架介绍全部内容,希望文章能够帮你解决Python爬虫学习框架介绍所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。