IT辅导娱乐网| 蜘蛛地图| 所有文章|
Python网络爬虫与信息提取讲解 - IT辅导
  • 首页
  • IT技术 IT辅导资源网设计图
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享 IT辅导资源网设计图
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧 IT辅导资源网设计图
    • seo教程
  • 编程教程
  • 值得看一看 IT辅导资源网设计图
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能 IT辅导资源网设计图
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿


登录后,享受更多优质服务哦
IT辅导资源网站长qq头像
欢迎回来,可爱的会员!个人中心退出登录
导航菜单
  • 首页
  • IT技术
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧
    • seo教程
  • 编程教程
  • 值得看一看
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿

Python网络爬虫与信息提取讲解

2020/9/19 五年级扛把子 

网络爬虫是互联网上进行信息采集的通用手段,在互联网的各个专业方向上都是不可或缺的底层技术支撑,了解Python网络爬虫与信息提取,可以更好的掌握该项技术,通过一个朋友推荐的博客,带大家了解一下:

1.学习Python网络爬虫与信息提取,必须会一门编程语言和懂得一些网络相关知识,最好会Python语言;

2.Python网络爬虫讲解是建立在:

    a、Requests框架:自动爬取HTML页面与自动网络请求提交

    b、robots.txt:网络爬虫排除标准

    c、BeautifulSoup框架:解析HTML页面

    d、Re框架:正则框架,提取页面关键信息

    e、Scrapy框架:网络爬虫原理介绍,专业爬虫框架介绍

    等基础上的;

3. Requests的基础使用

注:Requests库是目前公认的爬取网页最好的Python第三方库,具有简单、简捷的特点。

官方网站:http://www.python-requests.org  

在"C:\Windows\System32"中找到"cmd.exe",使用管理员身份运行,在命令行中输入:“pip install requests”运行。  

使用IDLE测试Requests库:

>>> import requests
>>> r = requests.get("http://www.baidu.com")#比如抓取百度页面
>>> r.status_code
>>> r.encoding = 'utf-8'
>>> r.text

Requests库的7个主要方法 

方法 说明 
  requests. request()  构造一个请求,支撑一下各方法的基础方法
  requests.get()  获取HTML网页的主要方法,对应HTTP的GET
  requests.head()  获取HTML网页头的信息方法,对应HTTP的HEAD
  requests.post()  向HTML网页提交POST请求方法,对应HTTP的POST
  requests.put()  向HTML网页提交PUT请求的方法,对应HTTP的RUT
  requests.patch()  向HTML网页提交局部修改请求,对应于HTTP的PATCH
  requests.delete()  向HTML页面提交删除请求,对应HTTP的DELETE

get()方法详解:

r = requests.get(url)


get()方法构造一个向服务器请求资源的Request对象,返回一个包含服务器资源的Response对象。


requests.get(url, params=None, **kwargs)


url:拟获取页面的url链接
params:url中的额外参数,字典或字节流格式,可选
**kwargs:12个控制访问参数


Requests库的2个重要对象
· Request
· Response:Response对象包含爬虫返回的内容


Response对象的属性

     1. r.status_code :HTTP请求的返回状态,200表示连接成功,404表示失败
     2. r.text :HTTP响应内容的字符串形式,即,url对应的页面内容
    3. r.encoding : 从HTTP header中猜测的相应内容编码方式
    4. r.apparent_encoding : 从内容中分析出的相应内容编码方式(备选编码方式)
    5. r.content : HTTP响应内容的二进制形式
   6. r.encoding :如果header中不存在charset,则认为编码为ISO-8859-1 。
   7. r.apparent_encoding :根据网页内容分析出的编码方式可以 看作是r.encoding的备选。


Response的编码:

    8. r.encoding : 从HTTP header中猜测的响应内容的编码方式;如果header中不存在charset,则认为编码为ISO-8859-1,r.text根据r.encoding显示网页内容
     9.r.apparent_encoding : 根据网页内容分析出的编码方式,可以看作r.encoding的备选
    10.r.raise_for_status() : 如果不是200,产生异常requests.HTTPError;

 4.Robots协议

    Robots Exclusion Standard 网络爬虫排除标准

    作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。

     形式:在网站根目录下的robots.txt文件。

例如:

# 注释:*代表所有,/代表根目录
User-agent: *
Disallow: /?*
Disallow: /pop/*.html
Disallow: /pinpai/*.html?*
User-agent: EtaoSpider
Disallow: /
User-agent: HuihuiSpider
Disallow: /
User-agent: GwdangSpider
Disallow: /
User-agent: WochachaSpider
Disallow: /

注:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。

 实例:

import requests
url = "https://item.jd.com/5145492.html"
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失败")

详细介绍可参考:Python网络爬虫与信息提取(实例讲解)


 点赞:0  打赏  分享  海报

  • 打赏支付宝扫一扫
  • 打赏微信扫一扫
  • 打赏企鹅扫一扫
结束语
温馨提醒:如有技术问题以及资源失效请联系站长 QQ89549822 进行反馈!!!
 您阅读本文耗时: 0小时02分35秒
热度:306° 发布时间:2020年9月19日

推荐:

标题:Python网络爬虫与信息提取讲解

链接: https://www.itfd.cn/post-1302.html

版权:转载请注明来源于【IT辅导娱乐网】为原创

上一篇: 关于Java集合的浅层理解

下一篇: Linux下安装宝塔

作者头像 作者名称 作者性别
五年级扛把子
联系作者 作者主页

热门推荐

1 第十一届蓝桥杯校内模拟赛题解
2 关于的电脑的小知识你知道哪些it辅导
3 想知道新手学电脑怎么能够快速入门吗it辅导
4 Java线程的声明周期详解
5 PHP变量命名
6 权力的游戏第8季06未删减

评论列表

取消回复

  • 存档

    • 2020年9月(191)
    • 2020年8月(92)
    • 2020年7月(5)
    • 2020年6月(224)
    • 2020年5月(392)
    • 2020年4月(267)
    • 2020年3月(76)
    • 2019年3月(1)
    • 1970年1月(29)
  • 搜索

  • 热门文章

    • 神佑之路手游源码-附视频教程
    • 最新可用老王VPN2.22.15谷歌市场版,免费使用
    • 私藏的十个网站,不看后悔系列
    • 虚拟商品自动发货商城源码
    • 不吃苦、不奋斗,你要青春做什么?
  • 随机文章

      • 百度网盘年中庆首月12元购买一个月超级会员
        • docker安装的php没有php.ini?但有php.ini-development 与 php.ini-production
          • docker配置LNMP (nginx+mysql+php)环境
            • docker内安装php缺少的扩展mysql.so和mysqli.so 及安装vim
              • 歌曲分享:影子先生
    提示信息

    SQL语句执行错误: SELECT COUNT(*) AS total FROM emlog_twitter
    Table 'itfd.emlog_twitter' doesn't exist

    «点击返回