文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

mmm110

http://nhjcxspj.xhstdz.com/commmm110/

相关列表
文章列表
  • 暂无文章
推荐文章
python爬虫获取微博热搜榜 如何爬取微博热搜
发布时间:2024-11-12        浏览次数:21        返回列表

python爬虫获取微博热搜榜 如何爬取微博热搜

一直想学习用Python来进行数据的爬取,也一直想知道Python连接数据库的操作,今天刚好看到的这篇文章满足了这两个条件,我试着爬了下微博,并成功将数据添加到数据库中,颇为欢喜。作者写的很简单,有些过程省略掉了,因此我尝试了好几次才成功,接下来记录自己的成功操作。

这里是用来爬取微博热搜榜的数据,网页地址为http://s.weibo.com/top/summary,打开网页并按下F12进入开发者模式,找到<td class = "td_05">...</td>里的内容,如图所示:

python爬虫获取微博热搜榜 如何爬取微博热搜_数据库

python爬虫获取微博热搜榜 如何爬取微博热搜_Python_02

python爬虫获取微博热搜榜 如何爬取微博热搜_爬虫_03

href后面的内容即为对应的中文编码的源码,其中很多25应该是干扰字符,后面删掉解析就可以发现是微博热搜的标题。我数了下,一共有27个,刚好第一个标题为“比伯愿为赛琳娜捐肾”九个字,一个汉字占三个字符,一共27个。

我用的是Python3.6.0,开发工具为PyCharm2017.2.3,数据库为MySql。

这里要说明一下,数据库的连接,db是数据库的名称weibo(这个可以自己取名字),charset表示字符集为utf8,表的名称为hotsearch,里面有rank,daydate,mindate,title,url为表中的字段,作者未说明这些字段的定义,我自己定义如下:

python爬虫获取微博热搜榜 如何爬取微博热搜_python爬虫获取微博热搜榜_04

对于varchar的类型,如果默认,则其编码模式为latin1,我刚开始不知道,运行py文件一直报错,然后网上搜索了一下,需要将latin1改为utf8,这样就对了。

python爬虫获取微博热搜榜 如何爬取微博热搜_python爬虫获取微博热搜榜_05

最终可在数据库中查看导入成功的数据。

python爬虫获取微博热搜榜 如何爬取微博热搜_微博_06

当然,作者还写了利用bat直接运行py文件,这样更快些,我在网上查了下,也学会了:

1、找到.py对应所在的文件目录并记录下来,比如我的就是E:***pythonprojectsBlogSpider

2、创建一个txt文件,在文件中写入如下内容:

@echo offcd E:***pythonprojectsBlogSpider

start python CrawlerBlog01.py

3、将txt文件改为bat后缀,然后双击运行即可。