简单爬虫,爬取CSDN博客阅读数量并存入数据库
来源:互联网 发布:足球经理ol停运 知乎 编辑:程序博客网 时间:2024/05/16 13:48
学习python中,所以写了一个简陋的东西,主要利用xpath来解析html,利用谷歌浏览器可以直接复制xpath,代码基于python 3.5:
# -*- coding: utf-8 -*-#coding=utf-8import urllib.request as reqimport datetimefrom lxml import etreeimport pymysql# 博客地址,{page_num}是要传入的页码数量base_url = "http://blog.csdn.net/i_am_kop/article/list/{page_num}"def get_html(url): # 当前页数 page_num = 1 # 利用mysql批量插入,这里是values后面的值 sql_fra = [] while True: print(100 * "-") print("第", page_num, "页") print(100 * "-") # 获取页面 page = req.urlopen(url.format(page_num=page_num)) html = page.read().decode("utf-8") # 开始解析xpath selector = etree.HTML(html) # 博客列表的div blog_divs = selector.xpath("//*[@id=\"article_list\"]/div[*]") # 如果此页没有内容,说明所有博客已经爬取完毕,退出 if not blog_divs: break # 循环读取本业博客 for blog_div in blog_divs: # 标题 title_ele = blog_div.xpath("div[1]/h1/span/a")[0] title = title_ele.xpath("string(.)").replace(" ", "").replace("\r\n", "") # 数量 count_ele = blog_div.xpath("div[3]/span[2]")[0] count = count_ele.xpath("string(.)").replace("阅读(", "").replace(")", "") # 当前时间 now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # print("({title},{count},{date})".format(title=title, count=count, date=now)) sql_fra.append("('{title}',{count},'{date}')".format(title=title, count=count, date=now)) page_num += 1 # print(sql_fra) # 开始插入mysql conn = pymysql.connect(host='192.168.1.2', port=3306, user='root', passwd='password', db='blog_log') cursor = conn.cursor() sql = "INSERT INTO t_read_num(title,read_count,create_date) VALUES "+",".join(sql_fra) conn.set_charset("utf8") cursor.execute(sql) conn.commit() cursor.close() conn.close()get_html(base_url)
sql脚本:
CREATE TABLE `t_read_num` ( `id` bigint(10) NOT NULL AUTO_INCREMENT, `title` varchar(128) DEFAULT NULL, `read_count` int(5) DEFAULT NULL, `create_date` datetime DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=138 DEFAULT CHARSET=utf8
阅读全文
0 0
- 简单爬虫,爬取CSDN博客阅读数量并存入数据库
- Java爬虫--利用HttpClient和Jsoup爬取博客数据并存入数据库
- 实战爬虫-爬取红袖添香并存入数据库
- 爬取电影天堂并存入数据库
- Python爬虫系列(四)(简单)Dota排行榜爬取,并存入Excel表格
- 创建爬虫----爬取大众点评数据并存入mongoDB数据库
- NodeJs简单七行爬虫--爬取自己Qzone的说说并存入数据库
- Scrapy简明教程(四)——爬取CSDN博客专家所有博文并存入MongoDB
- scrapy 爬取网站并存入数据库实例
- 使用简单的python语句编写爬虫 定时拿取信息并存入txt
- python爬虫:爬取豆瓣读书某个tag下的书籍并存入excel
- python爬虫----网易云音乐歌曲爬取并存入Excel
- java 爬虫实现爬豆瓣电影数据并存入mysql数据库
- python爬虫之搜索51job并存入mysql数据库
- python爬虫爬取csdn博客专家所有博客内容
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(上)
- Python爬虫(三):爬取猫眼电影网经典电影TOP100信息并存入本地Markdown文件(下)
- python3:爬虫并存入mysql
- 实现图片新闻的图片滚动
- 大数据早报:第四届世界互联网大会开幕 比特币一度突破11700美元(12.5)
- oracle可重复执行脚本写法---总结
- Java日志框架
- SSD的学习笔记
- 简单爬虫,爬取CSDN博客阅读数量并存入数据库
- 将文件复制到FTP服务器时发生错误。 的解决办法
- 关于mysql 5.7版本安装过程排错,以及安装方法。
- 失眠无需安眠药 抱着Somnox睡眠机器人即可入眠---凯利讯半导体
- 文件上传压缩包并解压
- Java基础之接口和多态知识点总结
- addclass和css()的区别
- docker日记---利用已有镜像创建docker容器
- oracle 存储过程执行