[入门Python] 爬虫实例--爬取Baidu热搜新闻

目录

前言

库函数准备

数据爬取

网页爬取

数据解析

数据保存

数据可视化

Flask文件框架构建

程序编写

数据读取与封装

搭建HTML网页

调试并运行

总结



前言

何为爬虫,其实就是利用计算机模拟人对网页的操作

例如 模拟人类浏览购物网站  模拟人类进行 12306 购票  

使用爬虫前一定要看目标网站可刑不可刑 :-)

可以在目标网站添加/robots.txt 查看网页具体信息

例如对天猫  可输入  https://brita.tmall.com/robots.txt 进行查看

User-agent 代表发送请求的对象

星号*代表任何搜索引擎

Disallow 代表不允许访问的部分

/代表从根目录开始

Allow代表允许访问的部分

更多关于robots.txt文件细节可以自己去其他博主那里查看

在本例中 我爬取的百度热搜前30的新闻(本人原本打算爬取英雄联盟主页 数据中心 大乱斗胜率前五十的英雄信息 奈何不会实现延时爬取网页的操作 无奈只能爬百度热搜) 并且其大致信息放到Excel表格以及Flask网页中实现数据可视化  感兴趣的同学也可以对其它内容进行爬取

Disallow的意思和高中不让带手机的规定是一个道理

由于本人水平有限 本文章中的爬虫都是比较基础的东西


库函数准备

Python库的安装方法:

  1. 打开cmd命令提示符
  2. 输入pip install XXX(这个是你要装的库名称)

关于这些库的具体使用 可以接下来看我的操作 

只需要简单掌握几个常用的函数即可

bs4

即BeautifulSoup

用来解析HTML网页,提取指定数据的。

其中详细的用法待会看我的演示。

re

正则表达式 用来匹配字符串中响应的字串。

关于正则表达式 可以去看菜鸟教程 里边讲的很详细

正则表达式 – 教程 | 菜鸟教程 (runoob.com)

urllib

是一个Python自带的HTTP请求库,可以操作一系列URL。

xlwt/xlrt

用于写入(write) / 读取(read)Excel表中的数据。

flask

这个库是用来只做一个简单的Web框架即网站,用于数据的可视化。

其实本人对于数据可视化的掌握也很浅薄,只是简单的将数据导入Web网页中。

jinja2

这个库的作用是为了实现在HTML网页中的字符中插入自变量的功能。

后端:
name="HQ"
前端:
<p>{
  {name}}长得真帅!</p>
显示:
HQ长得真帅!

markupsafe

与Jinja共用 在渲染页面时用于避免不可信的输入,防止注入攻击(虽然没人会攻击你....)


数据爬取

数据爬取数据可视化 两个py文件是分开的

数据爬取需要导入re bs4 urllib xlwt 四个库文件

网页爬取

使用一下的方法调用函数可以使函数调用关系更加清晰

if __name__=="__main__":  #当程序执行时 调用一下函数
    main()

def askurl(url):
    head={
        "User-Agent":'''Mozilla/5.0 (Windows NT 10.0; Win64; x64)
         AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55'''
    }
    #用户代理 告诉服务器我只是一个普普通通的浏览器
    requset=urllib.request.Request(url)
    #发送请求
    response=urllib.request.urlopen(requset)
    #响应的为一个request对象 
    #通过read()转化为 bytes类型字符串
    #再通过decode()转化为 str类型的字符串

    #接受响应
  
  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值