如何爬取微博热搜,python爬取微博内容
免费学习推荐:python视频教程
python爬取微博热搜存入Mysql
最终的效果使用的库目标分析一:得到数据二:链接数据库总代码最终的效果
废话不多少,直接上图
这里可以清楚的看到,数据库里包含了日期,内容,和网站环
下面我们来分析怎么实现
使用的库
导入请求
从selenium.webdriver导入Chrome,chrome选项
导入时间
从关系导入创建引擎
进口熊猫作为目标分析警察局
这是微博热搜的链接:点我可以到目标网页
首先我们使用硒对目标网页进行请求
然后我们使用语言对网页元素进行定位,遍历获得所有数据
然后使用熊猫生成一个数据帧对像,直接存入数据库
一:得到数据
我们看到,使用语言可以得到51条数据,这就是各热搜,从中我们可以拿到链接和标题内容
全部=浏览器。find _ elements _ by _ XPath(//*[@ id= pl _ top _ real time hot ]/table/tbody/tr/TD[2]/a )#得到所有数据
context=[i.text for i in c] #得到标题内容
links=[I . get _ attribute( href )for I in c]#得到环然后我们再使用活力函数,将日期、上下文、链接合并
活力函数是将几个列表合成一个列表,并且按指数对分列表的数据合并成一个元组,这个可以生产熊猫对象。
dc=zip(日期、上下文、链接)
pdf=pd .DataFrame(dc,columns=[date , hotsearch , link])其中日期可以使用时间模块获得
二:链接数据库
这个很容易
enging=create _ engine( MySQL py MySQL ://root :123456 @ localhost :3306/webo?charset=utf8 )
pdf.to_sql(name=信息,con=工程,if_exists=追加)总代码
从selenium.webdriver导入Chrome,chrome选项
导入时间
从关系导入创建引擎
进口熊猫作为螺纹中径
极好的获取数据():
URL=r https://s。微博。com/top/summary #微博的地址
option=ChromeOptions()
option.add_argument( - headless )
选项。add _ argument(-no-sandbox )
浏览器=铬(选项=选项)
browser.get(url)
全部=浏览器。find _ elements _ by _ XPath(//*[@ id= pl _ top _ real time hot ]/table/tbody/tr/TD[2]/a )
context=[i.text for i in all]
links=[I . get _ attribute( href )for I in all]
日期=时间。strftime( % Y-% M-% d-% H _ % M _ % S ,time.localtime())
日期=[]
对于范围内的I(len(上下文)):
dates.append(日期)
#打印(镜头(日期),len(上下文),日期,上下文)
dc=zip(日期、上下文、链接)
pdf=pd .DataFrame(dc,columns=[date , hotsearch , link])
# pdf.to_sql(name=in,con=enging,if_exists=append )
返回可移植文档格式文件的扩展名(portable document format的缩写)
def w_mysql(pdf):
尝试:
enging=create _ engine( MySQL py MySQL ://root :123456 @ localhost :3306/webo?charset=utf8 )
pdf.to_sql(name=信息,con=工程,if_exists=追加)
例外:
打印(出错了)
if __name__==__main__:
xx=get_data()
mysql(xx)希望能够帮到大家一点,大家一起共同进步,共同成长!
祝大家新年快乐!
相关免费学习推荐:python教程(视频)
以上就是大蟒实现爬取微博热搜存入关系型数据库的详细内容,更多请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。