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在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
Python中super关键字用法实例分析
May 28 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
python实现关闭第三方窗口的方法
Jun 28 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
Pytorch的mean和std调查实例
Jan 02 Python
opencv python图像梯度实例详解
Feb 04 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
Python爬取网页信息的示例
Sep 24 Python
python按照list中字典的某key去重的示例代码
Oct 13 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
PHP 表单提交给自己
2008/07/24 PHP
PHP SQLite类
2009/05/07 PHP
PHP把小数转成整数3种方法
2014/06/30 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
python 图片验证码代码分享
2012/07/04 Python
python str与repr的区别
2013/03/23 Python
python实现通过shelve修改对象实例
2014/09/26 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
兼职学生的自我评价
2013/11/24 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
高中物理教学反思
2014/02/08 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
中标通知书
2015/04/17 职场文书
房地产项目合作意向书
2015/05/08 职场文书
高二英语教学反思
2016/03/03 职场文书