Python爬虫获取数据保存到数据库中(超级详细,保证一看就会)

article/2025/10/22 13:21:56

1.简介介绍

-网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
-一般在浏览器上可以获取到的,通过爬虫也可以获取到,常见的爬虫语言有PHP,JAVA,C#,C++,Python,为啥我们经常听到说的都是Python爬虫,这是因为python爬虫比较简单,功能比较齐全。

2.Xpath获取页面信息

通过Xpath进行爬虫就是获取到页面html后通过路径的表达式来选取标签节点,沿着路径选取需要爬取的数据。

Xpath常用表达式:

表达式描述
/从根节点选取(取子节点)
//选择的当前节点选择文档中的节点
.选取当前节点。
选取当前节点的父节点。
@选取属性
*表示任意内容(通配符)
|运算符可以选取多个路径

Xpath常用函数:

函数用法解释
startswith()xpath(‘//div[starts-with(@id,”celent”)]‘)#选取id值以celent开头的div节点
contains()xpath(‘//div[contains(@id,”celent”)]‘)#选取id值包含celent的div节点
and()xpath(‘//div[contains(@id,”celent”) and contains(@id,”in”)]‘)#选取id值包含celent的div节点
text()_.xpath(’./div/div[4]/a/em/text()’)#选取em标签下文本内容

Xpath实操解析:

# 案例1
# //为从当前html中选取节点;[@class="c1text1"]为获取所有的class为c1text1的节点;/h1[1]为选取的节点下的第一个h1节点,如果没有[1]则是获取所有的,可以通过循环进行获取数据
etreeHtml.xpath('//*[@class="c1text1"]/h1[1]/text()')# 案例2
#//为从当前html中选取节点;[@class="c1text1"]为获取所有的class为c1text1的节点;/a为获取当前节点下的所有a标签节点,得到一个ObjectList;通过for循环获取里面每个标签数据,./@src为获取当前节点的src属性值
etreeHtml2 = etreeHtml.xpath('//*[@class="c1text1"]/a')
for _ in etreeHtml2: etreeHtml.xpath(./@src)

3.通过Xpath爬虫实操

本次实例以爬取我的CSDN文章列表信息保存到数据库为案列

3-1.获取xpath

通过F12打开开发者模式,点击左上角图标可参考下图,选择需要爬取数据的容器,在右边选择复制选择xpath就可以得到xpath路径了(//*[@id=“userSkin”]/div[2]/div/div[2]/div[1]/div[2]/div/div);
在这里插入图片描述
完整代码展示:

# 导入需要的库
import requests
from lxml import etree
import pymysql# 文章详情信息类
class articleData():def __init__(self, title, abstract, path,date):self.title = title #文章名称self.abstract = abstract #文章摘要self.path = path #文章路径self.date = date #发布时间def to_string(self):print("文章名称:"+self.title+";文章摘要:"+self.abstract+";文章路径:"+self.path+";发布时间:"+self.date)#保存狗狗详情数据
#保存数据
def saveData(DataObject):count = pymysql.connect(host='xx.xx.xx.xx',  # 数据库地址port=3306,  # 数据库端口user='xxxxx',  # 数据库账号password='xxxxxx',  # 数据库密码db='xxxxxxx'  # 数据库名)# 创建数据库对象db = count.cursor()# 写入sql# print("写入数据:"+DataObject.to_string())sql = f"insert into article_detail(title,abstract,alias,path,date) " \f"values ('{DataObject.title}','{DataObject.abstract}','{DataObject.path}','{DataObject.date}')"# 执行sqlprint(sql)db.execute(sql)# 保存修改内容count.commit()db.close()# 爬取数据的方向
def getWebData():# 网站页面路径url = "https://blog.csdn.net/BadBoyxiaolin?spm=1000.2115.3001.5343"# 请求头,模拟浏览器请求header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36"}# 获取页面所有节点代码html = requests.get(url=url, headers=header)# 打印页面代码查看# print(html.text)# 如果乱码可以设置编码格式# html.encoding = 'gb2312'# 通过xpath获取数据对应节点etreeHtml = etree.HTML(html.text)dataHtml = etreeHtml.xpath('//*[@class="mainContent"]/div/div/div')# 循环获取数据for _ in dataHtml:# ''.join()是将内容转换为字符串可以后面接replace数据进行处理title = ''.join(_.xpath('./article/a/div[1]/h4/text()'))#文章标题abstract = ''.join(_.xpath('./article/a/div[2]/text()'))#文章摘要path = ''.join(_.xpath('./article/a/@href'))#文章路径date = ''.join(_.xpath('./article/a/div[3]/div/div[2]/text()')).replace(' ','').replace('·','').replace('发布博客','')#发布时间#初始化文章类数据article_data = articleData(title,abstract,path,date)article_data.to_string() #打印数据看看是否对#保存数据到数据库# saveData(article_data)if __name__ == "__main__":getWebData()

http://chatgpt.dhexx.cn/article/TOsoU0Yb.shtml

相关文章

python数据爬取---简单页面的爬取

1、准备Requests和User Agent python中能实现爬虫功能的库有若干个,而最简单最容易上手的,要数Requests库,它是一个常用的http请求库,首先用pip install requests 进行安装才能使用。 User Agent一般翻译为用户代理,…

Python小姿势 - # 如何使用Python爬取网页数据

如何使用Python爬取网页数据 今天我们来学习一下如何使用Python来爬取网页数据。 首先,我们需要准备一个空白的文件,在文件中输入以下代码: import requests url http://www.baidu.com r requests.get(url) print(r.text) 上面的代码中&…

Python爬取数据

爬虫基本思路<通用> Response 服务器返回响应数据 Preview 预览 Payload 请求参数 Headers 头部信息&#xff1a;请求url地址、请求方式、响应头、请求头 一、数据来源分析 -抓包分析我们想要的数据内容&#xff0c;请求的那个网页 url地址得到。 -选中xhr 找到想要的内容…

手把手教会你用Python爬虫爬取网页数据!!

其实在当今社会&#xff0c;网络上充斥着大量有用的数据&#xff0c;我们只需要耐心的观察&#xff0c;再加上一些技术手段&#xff0c;就可以获取到大量的有价值数据。这里的“技术手段”就是网络爬虫。今天就给大家分享一篇爬虫基础知识和入门教程&#xff1a; 什么是爬虫&a…

python-爬取网站数据

一、安装jar 找到python解释解释器的安装根目录&#xff0c;执行以下命令&#xff0c; pip install requests #如果这个BeautifulSoup这个安装不上&#xff0c;可以换成pip install BeautifulSoup4试试 pip install BeautifulSoup二、肯定就是敲代码了 import urllib.reques…

Python爬虫入门教程!手把手教会你爬取网页数据

其实在当今社会&#xff0c;网络上充斥着大量有用的数据&#xff0c;我们只需要耐心的观察&#xff0c;再加上一些技术手段&#xff0c;就可以获取到大量的有价值数据。这里的“技术手段”就是网络爬虫。今天就给大家分享一篇爬虫基础知识和入门教程&#xff1a; 什么是爬虫?…

Python爬取整个网页的数据

本案例是基于PyCharm开发的&#xff0c;也可以使用idea。 在项目内新建一个python文件Test.py Test.py # 导入urllib下的request模块 import urllib.request # 导入正则匹配包 import re# -*- encoding:utf-8 -*- """ 作者&#xff1a;小思 文件名&#xff1a;…

python数据爬取及数据可视化分析

电影网站数据分析及可视化研究 本博客是一篇集数据爬取&#xff0c;存储为excel表格&#xff0c;将数据可视化为一体的博文&#xff0c;数据爬取采用request等方法&#xff0c;数据可视化会使用图表进行展示&#xff0c;有改进的地方还请大家多多指教。 目录 电影网站数据分析…

Python 爬取网页数据的两种方法

Python 爬取网页数据的两种方法 1. 概述2. 使用pandas 爬取网页数据2.1 打开网页2.2 打开 PyCharm 编译器 3.使用urllib爬取网页数据并写入Excel表3.1 下载 urllib 库3.2 代码如下3.3 运行结果如下 结束语 1. 概述 网络抓取是从任何网站或任何其他信息源中提取数据的过程&…

使用 Python 爬取网页数据

在需要过去一些网页上的信息的时候&#xff0c;使用 Python 写爬虫来爬取十分方便。 1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 HTML 解析库, 可以编写出用于采集网络数据的…

如何用Python爬数据?(一)网页抓取

你期待已久的Python网络数据爬虫教程来了。本文为你演示如何从网页里找到感兴趣的链接和说明文字&#xff0c;抓取并存储到Excel。 &#xff08;由于微信公众号外部链接的限制&#xff0c;文中的部分链接可能无法正确打开。如有需要&#xff0c;请点击文末的“阅读原文”按钮&a…

python爬虫爬取网页数据

前言 python爬取页面内容的编程教程&#xff1a; 1.首先要明确想要爬取的目标。对于网页源信息的爬取首先要获取url&#xff0c;然后定位的目标内容。具体如图所示。 2.先使用基础for循环生成的url信息。具体如图所示。 &#xff08;文末送读者福利&#xff09; 3.然后需要模…

Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章

原标题&#xff1a;解决Python爬虫爬不到数据 前言&#xff1a; 近期&#xff0c;通过做了一些小的项目&#xff0c;觉得对于Python爬虫有了一定的了解&#xff0c;于是&#xff0c;就对于Python爬虫爬取数据做了一个小小的总结&#xff0c;希望大家喜欢&#xff01; 文章目录…

Python爬虫学习-简单爬取网页数据

疫情宅家无事&#xff0c;就随便写一些随笔吧QwQ… 这是一篇介绍如何用Python实现简单爬取网页数据并导入MySQL中的数据库的文章。主要用到BeautifulSoup requests 和 pymysql。 以网页https://jbk.39.net/mxyy/jbzs/为例&#xff0c;假设我们要爬取的部分数据如下图所示&#…

Python爬取网页数据

都说python爬网页数据方便&#xff0c;我们今天就来试试&#xff0c;python爬取数据到底有多方便 简介 爬取数据&#xff0c;基本都是通过网页的URL得到这个网页的源代码&#xff0c;根据源代码筛选出需要的信息 准备 IDE&#xff1a;pyCharm 库&#xff1a;requests、lxml…

Python爬虫爬取数据

我是Python小白&#xff0c;我会用比较通俗易懂的方法告诉你如何去爬取数据。 一开始&#xff0c;我们需要pycharm&#xff08;也就是我们编代码的工具&#xff09;&#xff0c;其次我们需要打开我们需要爬取数据的网页&#xff0c;我以鞋子为例。 那么&#xff0c;接下来就开…

如何使用Python爬虫抓取数据?

Python爬虫应用十分广泛&#xff0c;无论是各类搜索引擎&#xff0c;还是日常数据采集&#xff0c;都需要爬虫的参与。其实爬虫的基本原理很简单&#xff0c;今天小编就教大家如何使用Python爬虫抓取数据&#xff0c;感兴趣的小伙伴赶紧看下去吧&#xff01; 工具安装 首先需要…

Python爬虫:高效采集数据的几种方法

作为互联网时代的新生力量&#xff0c;爬虫技术已经成为了各行各业不可或缺的一环。那么&#xff0c;如何高效地获取网络数据呢&#xff1f;本文将从以下十个方面逐步分析讨论。 一、基于HTTP协议的爬虫 HTTP协议是目前互联网上使用最广泛的协议&#xff0c;基于此协议的爬虫…

unity3d 收费模式_unity3d中的访客模式

unity3d 收费模式 抽象 (Abstract) Game development as a discipline is challenging on its own compared to traditional software development. The ability to solve performance-related, architectural and other challenges is often the key to success in the field.…

狼人杀微信小程序项目实例(附源码)

一、项目展示 狼人杀是一款多人参与的&#xff0c;通过语言描述推动、较量口才和分析判断能力的策略类桌面游戏 玩家人数适于4-18人参与 主要角色有&#xff1a;狼人 、预言家 、平民 、女巫 、猎人 、白痴 、守卫 、骑士等 同时还有众多的玩家形象 各角色的职能介绍 设置游戏…