python 爬虫热搜_Python网络爬虫之爬取微博热搜
微博热搜的爬取较为简单,我只是用了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网络爬虫之爬取微博热搜相关推荐
- python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql
在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...
- python爬虫微博热搜_Python网络爬虫之爬取微博热搜
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...
- python 爬关键词,Python爬虫实战:爬取微博热搜关键词
一.爬取微博热搜关键词需要的第三方库 1.requests 2.BeautifulSoup 美味汤 3.worldcloud 词云 4.jieba 中文分词 5.matplotlib 绘图 二.爬取微 ...
- Python爬虫之四:使用BeautifulSoup爬取微博热搜
(一)安装BeautifulSoup模块 目前,Beautiful Soup 的最新版本是 4.x 版本,之前的版本已经停止开发了.这里推荐使用 pip 来安装,安装命令如下: pip install ...
- 爬虫—爬取微博热搜榜
1. 引言 利用scrapy框架爬取微博热搜榜网站前50条热搜. 爬取信息:热搜排名.热搜新闻名.热搜新闻热搜量. 数据存储:存储为.csv文件. 2.爬取流程 新建scrapy爬虫项目: 在终端输入 ...
- 爬虫实例:正则表达式爬取微博热搜榜
最近在学习python的爬虫知识,分享一个爬取微博热搜的实例,代码很简单. 用到了requests,re,xlwt库 直接看图: #1导入模块 import requests import re im ...
- 从零到一学爬虫-爬取微博热搜示例
爬取微博热搜榜-简单示例 使用爬虫模拟浏览器向微博热搜的服务器发送请求,得到响应,然后将响应的信息进行打印. 当我们直接打开浏览器,输入https://s.weibo.com/top/summary, ...
- python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql
python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...
- python爬取微博热搜榜教程,python爬取微博热搜并存入表格
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...
最新文章
- lombox的用法(省去了set/get/NoArgsConstructor/AllArgsConstructor)
- 【Anychat音视频开发】相对路径与绝对路径详解
- 如何查看数据库索引的利用率?
- 软件配置管理(六)常用配置软件配置工具指令
- freeBSD的vi
- 谷歌云端语音识别软件
- 决策树(十一)--GBDT补充
- Python--day45--pymysql模块初识以及SQL注入
- 算法笔记 胡凡 codeup 数列
- pdfmake支持html,pdfMake前端导出pdf
- 设计模式(一):接口隔离原则
- Java pcm文件与wav文件互转
- 常见问题 | Influx 产品常见问题及使用技巧(1)
- 30万条弹幕大军都推荐你去看的《山海情》,是怎样一部最搞笑最土味的扶贫剧
- 实习日记(5-18)Socket与MQTT
- unity shaderlab 毛玻璃效果 周围发光效果 代码+详细注释
- Linux服务器安装matlab
- could not create the java machine_解决could not create the java virtual machine问题
- IOS逆向--performSelector动态调用
- 银行现金管理系统—信必优
热门文章
- mysql dump gtid_mysqldump命令详解 Part 3- 备份全库
- 英语中的开音节和闭音节
- Linux命令之 users -- 显示当前登录的用户
- Linux 命令之 pwconv -- 开启用户的投影密码
- SmartSVN for Mac 使用说明
- VueJS ajax综合案例(修改用户信息实现步骤)
- mvc @html.editorfor,在MVC中,@Html.EditorFor(m = ( )_CSharp_开发99编程知识库
- python filter函数中写none_Python3基础 filter 第一个参数为NONE时 结果只返回为True的对象...
- ZigBee网络数据传递流程_蓝牙、Wifi与ZigBee三种,这三种无线传输技术,谁能一统天下...
- Leecode 136. 只出现一次的数字