Python爬取微博热搜榜,将数据存入数据库
一直想学习用Python来进行数据的爬取,也一直想知道Python连接数据库的操作,今天刚好看到的这篇文章满足了这两个条件,我试着爬了下微博,并成功将数据添加到数据库中,颇为欢喜。作者写的很简单,有些过程省略掉了,因此我尝试了好几次才成功,接下来记录自己的成功操作。
一、选择需要爬取的网页
这里是用来爬取微博热搜榜的数据,网页地址为http://s.weibo.com/top/summary,打开网页并按下F12进入开发者模式,找到<td class = "td_05">...</td>里的内容,如图所示:
href后面的内容即为对应的中文编码的源码,其中很多25应该是干扰字符,后面删掉解析就可以发现是微博热搜的标题。我数了下,一共有27个,刚好第一个标题为“比伯愿为赛琳娜捐肾”九个字,一个汉字占三个字符,一共27个。
我用的是Python3.6.0,开发工具为PyCharm2017.2.3,数据库为MySql。
二、下面是完整代码
#-*-coding:utf-8-*- import urllib, pymysql, requests, re # 配置数据库 config = { 'host': '127.0.0.1','port': 3306,'user': 'root','password': '******','db': 'weibo','charset': 'utf8', } # 链接数据库 conn = pymysql.connect(**config) cursor = conn.cursor() # 获取热搜源码 weiboHotFile = requests.get('http://s.weibo.com/top/summary') weiboHotHtml = weiboHotFile.text # 正则表达式匹配URL,找到title hotKey = re.compile(r'td class=\\"td_05\\"><a href=\\"\\/weibo\\/(.*?)&Refer=top\\"') hotKeyListBe = hotKey.findall(weiboHotHtml) rank = 1 # 遍历获取的title列表 for title in hotKeyListBe: # 去除干扰数字 title = title.replace('25', '') url = 'http://s.weibo.com/weibo/' + titletitle = urllib.parse.unquote(title) print(str(rank)+' '+title + ' '+' '+url+'\n') # 执行数据语句 sql = 'insert into hotsearch (rank, daydate, mindate, title, url) values (%s, curdate(), curtime(), %s, %s)' cursor.execute(sql, (rank, title, url)) rank += 1 conn.commit() cursor.close() conn.close()
三、注意事项
这里要说明一下,数据库的连接,db是数据库的名称weibo(这个可以自己取名字),charset表示字符集为utf8,表的名称为hotsearch,里面有rank,daydate,mindate,title,url为表中的字段,作者未说明这些字段的定义,我自己定义如下:
对于varchar的类型,如果默认,则其编码模式为latin1,我刚开始不知道,运行py文件一直报错,然后网上搜索了一下,需要将latin1改为utf8,这样就对了。
最终可在数据库中查看导入成功的数据。
四、利用bat脚本运行py文件
当然,作者还写了利用bat直接运行py文件,这样更快些,我在网上查了下,也学会了:
1、找到.py对应所在的文件目录并记录下来,比如我的就是E:\***\pythonprojects\BlogSpider
2、创建一个txt文件,在文件中写入如下内容:
@echo off
cd E:\***\pythonprojects\BlogSpider
start python CrawlerBlog01.py
3、将txt文件改为bat后缀,然后双击运行即可。
五、参考链接:
https://blog.csdn.net/weixin_41407399/article/details/79775900
https://www.cnblogs.com/yingdiblog/p/7244228.html
http://s.weibo.com/top/summary
Python爬取微博热搜榜,将数据存入数据库相关推荐
- python爬取微博热搜榜
python爬取微博热搜榜 最近应我大学室友得需求,做了一个简单的爬虫案例,先给大家看一下程序运行效果 接下来就是贴出代码了,在这里我会做一些简单说明,对如刚入门的同学可能会有所帮助,这里使用的是py ...
- python爬取微博热搜榜教程,python爬取微博热搜并存入表格
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...
- python爬取微博热搜显示到折线图_微博热搜榜前20信息数据爬取进行数据分析与可视化...
一.设计方案 1.主题式网络爬虫名称:微博热搜榜前20信息数据爬取进行数据分析与可视化 2.爬取内容与数据特征分析:爬取微博热搜榜前20热搜事件.排名与热度,数据呈一定规律排序. 3.设计方案概述:思 ...
- c#使用正则表达式获取TR中的多个TD_使用python+BeautifulSoup爬取微博热搜榜
本文将介绍基于Python使用BeautifulSoup爬取微博热搜榜的实现过程 1.首先导入需要使用的库 from bs4 import BeautifulSoup from urllib.requ ...
- 爬虫—爬取微博热搜榜
1. 引言 利用scrapy框架爬取微博热搜榜网站前50条热搜. 爬取信息:热搜排名.热搜新闻名.热搜新闻热搜量. 数据存储:存储为.csv文件. 2.爬取流程 新建scrapy爬虫项目: 在终端输入 ...
- python爬取微博热搜数据并保存!
主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...
- python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql
python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...
- Python爬取微博热搜数据之炫酷可视化
可视化展示 看完记得点个赞哟 微博炫酷可视化音乐组合版来了! 项目介绍 背景 现阶段,微博.抖音.快手.哗哩哗哩.微信公众号已经成为不少年轻人必备的"生活神器".在21世纪的今天, ...
- 爬虫实例:正则表达式爬取微博热搜榜
最近在学习python的爬虫知识,分享一个爬取微博热搜的实例,代码很简单. 用到了requests,re,xlwt库 直接看图: #1导入模块 import requests import re im ...
最新文章
- nacos 配置动态刷新_nacos配置中心修改后刷新
- 谷歌大脑开源「数据增强」新招数:ImageNet准确率达85%,大神Quoc Le出品
- linux 编译zbar
- container资源限制
- 与ai计算机专业大学排名,全球大学计算机科学与人工智能排名:卡耐基梅隆大学居首...
- 标准模型和IE模型的区别
- 通过代码控制ArcGIS Server的服务
- 如何利用excel中的数据源制作数据地图
- LM4766T/NOPB小秘密
- 正点原子阿波罗STM32F7-红外遥控原理及代码
- linux 64位 虚拟内存空间,Linux在x86-64下的虚拟内存布局
- 图像放大算法介绍(转载)
- 项目管理的经验(4年项目管理经验)
- nuxt.js 全局 js_使用nuxt js在vuetify js中进行高级颜色管理
- Invalid classes inferred from unique values of `y`. Expected: [0 1 2], got [1 2 3]
- java雀圣麻将游戏_《梦幻麻将馆9雀圣争霸》全攻略
- Docker真正的入门
- 【湍流】基于傅里叶变换实现大气湍流随机相位屏,增加了低频次谐波补偿附matlab代码
- python撩妹小技巧 —— 30行代码实现520小彩蛋
- Hadoop2.6.0学习笔记(九)SPOF解决方案Quorum机制
热门文章
- 富文本编辑器tinymce 自定义中文字号(四号,小四,五号,小五等)
- 【学习笔记-时间序列预测】prophet-使用.3节日与特殊事件
- Android 自定义SeekBar 的thumb遮挡问题解决
- php选择星座,PHP日期得到星座
- 自动化测试与自动化测试生命周期
- 从郭靖夫妇之死想到的(转载
- BoundingBox工具及其使用方法
- Stairway to SQL Server Security Level 3: Principals and Securables - SQLServerCentral
- python rfcn.py
- 对比学习sass和stylus的常用功能