Python网络爬虫之爬取微博热搜


Posted in Python onApril 18, 2019

微博热搜的爬取较为简单,我只是用了lxml和requests两个库

url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6

1.分析网页的源代码:右键--查看网页源代码.

Python网络爬虫之爬取微博热搜

从网页代码中可以获取到信息

(1)热搜的名字都在<td class="td-02">的子节点<a>里

(2)热搜的排名都在<td class=td-01 ranktop>的里(注意置顶微博是没有排名的!)

(3)热搜的访问量都在<td class="td-02">的子节点<span>里

2.requests获取网页

(1)先设置url地址,然后模拟浏览器(这一步可以不用)防止被认出是爬虫程序。

###网址
url="https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6"
###模拟浏览器,这个请求头windows下都能用
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}

(2)利用req uests库的get()和lxml的etr ee()来获 取网页代码

###获取html页面
  html=etree.HTML(requests.get(url,headers=header).text)

3.构造xpath路径

上面第一步中三个xath路径分别是:

affair=html.xpath('//td[@class="td-02"]/a/text()')
rank=html.xpath('//td[@class="td-01 ranktop"]/text()')
view=html.xpath('//td[@class="td-02"]/span/text()')

xpath的返回结果是列表,所以affair、rank、view都是字符串列表

  4.格式化输出

需要注意的是affair中多了一个置顶热搜,我们先将他分离出来。

top=affair[0]
affair=affair[1:]

这里利用了python的切片。

print('{0:<10}\t{1:<40}'.format("top",top))
  for i in range(0, len(affair)):
    print("{0:<10}\t{1:{3}<30}\t{2:{3}>20}".format(rank[i],affair[i],view[i],chr(12288)))

这里还是没能做到完全对齐。。。

 5.全部代码

###导入模块
import requests
from lxml import etree
###网址
url="https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6"
###模拟浏览器
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
###主函数
def main():
  ###获取html页面
  html=etree.HTML(requests.get(url,headers=header).text)
  rank=html.xpath('//td[@class="td-01 ranktop"]/text()')
  affair=html.xpath('//td[@class="td-02"]/a/text()')
  view = html.xpath('//td[@class="td-02"]/span/text()')
  top=affair[0]
  affair=affair[1:]
  print('{0:<10}\t{1:<40}'.format("top",top))
  for i in range(0, len(affair)):
    print("{0:<10}\t{1:{3}<30}\t{2:{3}>20}".format(rank[i],affair[i],view[i],chr(12288)))
main()

结果展示:

Python网络爬虫之爬取微博热搜

总结

以上所述是小编给大家介绍的Python网络爬虫之爬取微博热搜,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
python实现大转盘抽奖效果
Jan 22 Python
python实现批量nii文件转换为png图像
Jul 18 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
下载官网python并安装的步骤详解
Oct 12 Python
Python并发concurrent.futures和asyncio实例
May 04 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 #Python
详解python 模拟豆瓣登录(豆瓣6.0)
Apr 18 #Python
Python面向对象总结及类与正则表达式详解
Apr 18 #Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 #Python
详解python数据结构和算法
Apr 18 #Python
python基础知识(一)变量与简单数据类型详解
Apr 17 #Python
关于python多重赋值的小问题
Apr 17 #Python
You might like
无线电广播的开始
2002/01/30 无线电
浅析php变量作用域的一些问题
2013/08/08 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
python远程连接MySQL数据库
2019/04/19 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
如何执行一个shell程序
2012/11/23 面试题
员工自我鉴定范文
2013/10/06 职场文书
后勤自我鉴定
2013/10/13 职场文书
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
女生节标语
2014/06/26 职场文书
大学毕业生推荐信
2014/07/09 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
小学教师自我评价
2015/03/04 职场文书
个人总结格式范文
2015/03/09 职场文书
应收账款管理制度
2015/08/06 职场文书