Python-selenium翻页爬取csdn博客保存数据入mysql

csdn博客部分截图

博客链接:https://blog.csdn.net/kevinelstri/article/list/1?

此次目的是要爬取文章标题,发表文章时间以及阅读数量

1.浏览器打开网址,选择一个右击标题,审查元素。如图

通过观察可以发现每篇文章有一个div,格式大多相同,就可以写爬取代码了

2.爬取文章标题,时间,阅读数的网页定位代码:

count=driver.find_elements_by_xpath("//div[@class=‘article-list‘]/div[position()>1]/div/p[3]/span/span")
time=driver.find_elements_by_xpath("//div[@class=‘article-list‘]/div[position()>1]/div/p[1]/span")
content=driver.find_elements_by_xpath("//div[@class=‘article-list‘]/div[position()>1]/h4/a")

三条代码都是通过xpath定位元素

3.取出爬取元素的值,并且打包成列表(方便数据的对应存储)

time_list=[]
content_list=[]
count_list=[]
for t in time:
time_list.append(t.text)
for c in content:
content_list.append(c.text)
for c in count:
count_list.append(c.text)
end1=list(zip(content_list,time_list,count_list))#将爬取的标题和时间压缩成列表

4.将爬取的数据存入数据库(原本已经在数据库test下建立了表格climb_boke),

这里选择写了个自定义函数

def Mysql(data):
conn=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘cmy1234‘,port=3306)
cur=conn.cursor()
conn.set_character_set(‘utf8‘)#设置编码
cur.execute(‘set names utf8;‘)
cur.execute(‘set character set utf8;‘)
cur.execute(‘set character_set_connection=utf8;‘)
cur.execute(‘use test‘)
sql=‘‘‘insert into climb_boke(title,time,count) values(%s,%s,%s)‘‘‘
for i in range(0,len(data)):
cur.execute(sql,list(data[i]))#插入的数据必须是列表形势
print("插入数据成功")
cur.execute(‘select* from climb_boke‘)
for data in cur.fetchall():
print(data)
conn.commit()
cur.close()
conn.close()

整体代码:

这里翻页我只取了两页,可以做修改

while k<=2:
url=‘https://blog.csdn.net/kevinelstri/article/list/‘+str(k)+‘?‘

最终Navicat查看的成果

原文地址:https://www.cnblogs.com/chenminyu/p/10442918.html

时间: 2024-07-30 14:23:08

Python-selenium翻页爬取csdn博客保存数据入mysql的相关文章

python爬虫爬取csdn博客专家所有博客内容

python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 结果如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

[python爬虫] Selenium爬取CSDN博客摘要及问题

本文主要是采用Selenium来爬取CSDN的博文摘要,为后面对CSDN的热点技术.近几年专家发表的博客作数据分析.由于采用BeautifulSoup爬取该网站会报错"HTTPError: Forbidden",所以作者采用Selenium爬取.同时,在爬取过程中遇到了局部动态更新的问题,无法定位换页的问题,作者采用Firebug进行分析,也希望读者提出更好的方法.代码下载地址: 一. CSDN博客网站分析及问题 本文主要爬取CSDN专家的博客,因为专家的论文水平相对高点,同时专栏较多

Python爬取CSDN博客文章

之前解析出问题,刚刚看到,这次仔细审查了 0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...47分钟前1 url :http://blog.csdn.net/youyou1543724847/

使用python爬取csdn博客访问量

最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能. 一.网址分析 进入自己的博客页面,网址为:http://blog.csdn.net/xingjiarong 网址还是非常清晰的就是cs

Python 爬取CSDN博客频道

初次接触python,写的很简单,开发工具PyCharm,python 3.4很方便 python 部分模块安装时需要其他的附属模块之类的,可以先 pip install wheel 然后可以直接下载whl文件进行安装 pip install lxml-3.5.0-cp34-none-win32.whl 定义一个类,准备保存的类型 class CnblogArticle: def __init__(self): self.num='' self.category='' self.title=''

Hello Python!用python写一个抓取CSDN博客文章的简单爬虫

网络上一提到python,总会有一些不知道是黑还是粉的人大喊着:python是世界上最好的语言.最近利用业余时间体验了下python语言,并写了个爬虫爬取我csdn上关注的几个大神的博客,然后利用leancloud一站式后端云服务器存储数据,再写了一个android app展示数据,也算小试了一下这门语言,给我的感觉就是,像python这类弱类型的动态语言相比于java来说,开发者不需要分太多心去考虑编程问题,能够把精力集中于业务上,思考逻辑的实现.下面分享一下我此次写爬虫的一下小经验,抛砖引玉

Scrapy爬虫案例01——翻页爬取

之前用python写爬虫,都是自己用requests库请求,beautifulsoup(pyquery.lxml等)解析.没有用过高大上的框架.早就听说过Scrapy,一直想研究一下.下面记录一下我学习使用Scrapy的系列代码及笔记. 安装 Scrapy的安装很简单,官方文档也有详细的说明 http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html .这里不详细说明了. 创建工程 我是用的是pycharm开发,打开pycharm

python网络爬虫《爬取get请求的页面数据》

一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib.parse,在python2中是urllib和urllib2. 二.由易到难的爬虫程序: 1.爬取百度首页所有数据值 #!/usr/bin/env python # -*- coding:utf-8 -*- #导包 import urllib.request import urllib.parse

Python爬虫抓取csdn博客

昨天晚上为了下载保存某位csdn大牛的全部博文,写了一个爬虫来自动抓取文章并保存到txt文本,当然也可以 保存到html网页中.这样就可以不用Ctrl+C 和Ctrl+V了,非常方便,抓取别的网站也是大同小异. 为了解析抓取的网页,用到了第三方模块,BeautifulSoup,这个模块对于解析html文件非常有用,当然也可以自己使用正则表达式去解析,但是比较麻烦. 由于csdn网站的robots.txt文件中显示禁止任何爬虫,所以必须把爬虫伪装成浏览器,而且不能频繁抓取,得sleep一会再抓,使