python,selenium爬取微博热搜存入Mysql
python爬取微博热搜存入Mysql
- 最终的效果
- 使用的库
- 目标分析
- 一:得到数据
- 二:链接数据库
- 总代码
最终的效果
废话不多少,直接上图
这里可以清楚的看到,数据库里包含了日期,内容,和网站link
下面我们来分析怎么实现
使用的库
import requests
from selenium.webdriver import Chrome, ChromeOptions
import time
from sqlalchemy import create_engine
import pandas as pd
目标分析
这是微博热搜的link:点我可以到目标网页
首先我们使用selenium对目标网页进行请求
然后我们使用xpath对网页元素进行定位,遍历获得所有数据
然后使用pandas生成一个Dataframe对像,直接存入数据库
一:得到数据
我们看到,使用xpath可以得到51条数据,这就是各热搜,从中我们可以拿到链接和标题内容
all = browser.find_elements_by_xpath('//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[2]/a') #得到所有数据context = [i.text for i in c] # 得到标题内容links = [i.get_attribute('href') for i in c] # 得到link
然后我们再使用zip函数,将date,context,links合并
zip函数是将几个列表合成一个列表,并且按index对分列表的数据合并成一个元组,这个可以生产pandas对象。
dc = zip(dates, context, links)pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])
其中date可以使用time模块获得
二:链接数据库
这个很容易
enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")
pdf.to_sql(name='infromation', con=enging, if_exists="append")
总代码
from selenium.webdriver import Chrome, ChromeOptions
import time
from sqlalchemy import create_engine
import pandas as pddef get_data():url = r"https://s.weibo.com/top/summary" # 微博的地址option = ChromeOptions()option.add_argument('--headless')option.add_argument("--no-sandbox")browser = Chrome(options=option)browser.get(url)all = browser.find_elements_by_xpath('//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[2]/a')context = [i.text for i in all]links = [i.get_attribute('href') for i in all]date = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())dates = []for i in range(len(context)):dates.append(date)# print(len(dates),len(context),dates,context)dc = zip(dates, context, links)pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])# pdf.to_sql(name=in, con=enging, if_exists="append")return pdfdef w_mysql(pdf):try:enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")pdf.to_sql(name='infromation', con=enging, if_exists="append")except:print('出错了')if __name__ == '__main__':xx = get_data()w_mysql(xx)
希望能够帮到大家一点,大家一起共同进步,共同成长!
祝大家新年快乐!!!
python,selenium爬取微博热搜存入Mysql相关推荐
- 爬取新笔趣阁排行并保存到mysql_python+selenium爬取微博热搜存入Mysql的实现方法...
最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站link 下面我们来分析怎么实现 使用的库 import requests from selenium.webdr ...
- python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql
在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库.因为MySQL数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使 ...
- python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql
python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...
- c#使用正则表达式获取TR中的多个TD_使用python+BeautifulSoup爬取微博热搜榜
本文将介绍基于Python使用BeautifulSoup爬取微博热搜榜的实现过程 1.首先导入需要使用的库 from bs4 import BeautifulSoup from urllib.requ ...
- 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...
- Python爬虫爬取微博热搜保存为 Markdown 文件
微博热搜榜python爬虫,仅供学习交流 源码及注释: # -*- coding=UTF-8 -*- #!usr/bin/env pythonimport os import time import ...
- python 爬关键词,Python爬虫实战:爬取微博热搜关键词
一.爬取微博热搜关键词需要的第三方库 1.requests 2.BeautifulSoup 美味汤 3.worldcloud 词云 4.jieba 中文分词 5.matplotlib 绘图 二.爬取微 ...
- 利用 Python 自动抓取微博热搜,并定时发送至邮箱
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...
- python爬取微博热搜榜教程,python爬取微博热搜并存入表格
微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...
最新文章
- 漫画:设计模式之 “外观模式”
- 优化SqlServer--数据压缩
- 想服务器不宕机,你了解Linux“体检”指标吗?
- 网络协议-网络分层、TCP/UDP、TCP三次握手和四次挥手
- Python学习(3)变量类型
- 汇编语言不带冒号标号的用法
- javascript常用内置对象总结(重要)
- 接口 vs 抽象类 的区别
- 对象和json相互转换
- 2016数博会日程安排表
- 使用app-inspector时报错connect ECONNREFUSED 127.0.0.1:8001的解决方案
- 极品五笔自定义字库(jpwb.emb)
- 《Redis视频教程》(p6)
- 激荡三十年:1978-2008 之序
- 山地车中轴进水表现_解决山地车令人讨厌的中轴异响及其他异响问题
- K均值 - 案例实现(python)
- 基于 Web 端的人脸识别身份验证
- [反汇编练习] 160个CrackMe之024
- 【云扩RPA】Table
- 【LabVIEW懒人系列教程-小白入门】1.13LabVIEW程序结构之事件结构