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

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

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

(1)热搜的名字都在

的子节点里

(2)热搜的排名都在

的里(注意置顶微博是没有排名的!)

(3)热搜的访问量都在

的子节点里

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网络爬虫之爬取微博热搜相关推荐

  1. python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql

    在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...

  2. python爬虫微博热搜_Python网络爬虫之爬取微博热搜

    微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...

  3. python 爬关键词,Python爬虫实战:爬取微博热搜关键词

    一.爬取微博热搜关键词需要的第三方库 1.requests 2.BeautifulSoup 美味汤 3.worldcloud 词云 4.jieba 中文分词 5.matplotlib 绘图 二.爬取微 ...

  4. Python爬虫之四:使用BeautifulSoup爬取微博热搜

    (一)安装BeautifulSoup模块 目前,Beautiful Soup 的最新版本是 4.x 版本,之前的版本已经停止开发了.这里推荐使用 pip 来安装,安装命令如下: pip install ...

  5. 爬虫—爬取微博热搜榜

    1. 引言 利用scrapy框架爬取微博热搜榜网站前50条热搜. 爬取信息:热搜排名.热搜新闻名.热搜新闻热搜量. 数据存储:存储为.csv文件. 2.爬取流程 新建scrapy爬虫项目: 在终端输入 ...

  6. 爬虫实例:正则表达式爬取微博热搜榜

    最近在学习python的爬虫知识,分享一个爬取微博热搜的实例,代码很简单. 用到了requests,re,xlwt库 直接看图: #1导入模块 import requests import re im ...

  7. 从零到一学爬虫-爬取微博热搜示例

    爬取微博热搜榜-简单示例 使用爬虫模拟浏览器向微博热搜的服务器发送请求,得到响应,然后将响应的信息进行打印. 当我们直接打开浏览器,输入https://s.weibo.com/top/summary, ...

  8. python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql

    python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...

  9. python爬取微博热搜榜教程,python爬取微博热搜并存入表格

    微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...

最新文章

  1. lombox的用法(省去了set/get/NoArgsConstructor/AllArgsConstructor)
  2. 【Anychat音视频开发】相对路径与绝对路径详解
  3. 如何查看数据库索引的利用率?
  4. 软件配置管理(六)常用配置软件配置工具指令
  5. freeBSD的vi
  6. 谷歌云端语音识别软件
  7. 决策树(十一)--GBDT补充
  8. Python--day45--pymysql模块初识以及SQL注入
  9. 算法笔记 胡凡 codeup 数列
  10. pdfmake支持html,pdfMake前端导出pdf
  11. 设计模式(一):接口隔离原则
  12. Java pcm文件与wav文件互转
  13. 常见问题 | Influx 产品常见问题及使用技巧(1)
  14. 30万条弹幕大军都推荐你去看的《山海情》,是怎样一部最搞笑最土味的扶贫剧
  15. 实习日记(5-18)Socket与MQTT
  16. unity shaderlab 毛玻璃效果 周围发光效果 代码+详细注释
  17. Linux服务器安装matlab
  18. could not create the java machine_解决could not create the java virtual machine问题
  19. IOS逆向--performSelector动态调用
  20. 银行现金管理系统—信必优

热门文章

  1. mysql dump gtid_mysqldump命令详解 Part 3- 备份全库
  2. 英语中的开音节和闭音节
  3. Linux命令之 users -- 显示当前登录的用户
  4. Linux 命令之 pwconv -- 开启用户的投影密码
  5. SmartSVN for Mac 使用说明
  6. VueJS ajax综合案例(修改用户信息实现步骤)
  7. mvc @html.editorfor,在MVC中,@Html.EditorFor(m = ( )_CSharp_开发99编程知识库
  8. python filter函数中写none_Python3基础 filter 第一个参数为NONE时 结果只返回为True的对象...
  9. ZigBee网络数据传递流程_蓝牙、Wifi与ZigBee三种,这三种无线传输技术,谁能一统天下...
  10. Leecode 136. 只出现一次的数字