爬虫案例——爬取情话网数据

需求:

1.爬取情话网站中表白里面的所有句子(表白词_表白的话_表白句子情话大全_情话网)

2.利用XPath来进行解析

3.使用面向对象形发请求——创建一个类

4.将爬取下来的数据保存在数据库中

8282f421d831464da90687bc3ab0a034.png

c1eef08bee8f4953bc89d9d2ab7611f4.png

c075da74c46b4e3aa86e4a7c841e8eea.png

74141cffdc364ee48287b7ca55db0dfc.png

b6a051b68ba847e68f7a7d031f8a8c8b.png

702a27b6ded643829edee5bf12d65171.png

b78c5f13c9c74c7cba32ac8ae8ccde80.png

写出对应解析语法

//div[@class="box labelbox"]/h4/a/@href

1e464526bf2d4c19b668b1f8c4298037.png

如此照推,详情页文本对应的解析语法

//div[@class="stbody "]//p[1]/text()|//div[@class="stbody first"]//p[1]/text()

b68c938feda74f909c73356958c25b8e.png示例代码:

import requests
from lxml import etree
import pymysql
#面向对象发请求 1.创建一个类
class Spiderqinghua():def __init__(self):self.url ='http://www.ainicr.cn/qh/t8.html'self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}#建立与MySQL的连接self.db = pymysql.connect(user='root',password='wx990826',database='pingping')self.cursor=self.db.cursor()#获取操作游标def get_data(self,url):r = requests.get(url=url,headers=self.headers)return r.textdef get_list_data(self,data):#列表页#//div[@class="box labelbox"]/h4/a/@hrefxml=etree.HTML(data)hrefs = xml.xpath('//div[@class="box labelbox"]/h4/a/@href')# print(hrefs)return hrefsdef parse_data(self,data):#详情页xml=etree.HTML(data)content = xml.xpath('//div[@class="stbody "]//p[1]/text()|//div[@class="stbody first"]//p[1]/text()')for contents in content:print('文本:',contents)print('=====================')self.save_data(contents)def save_data(self,qinghua):sql = 'insert into qinghua_data(text) value ("%s")'self.cursor.execute(sql,[qinghua])#执行sql语句self.db.commit()#提交def main(self):html_data=self.get_data(self.url)hrefs = self.get_list_data(html_data)for href in hrefs:print('详情页连接:',href)x_data = self.get_data(href)# print(x_data)self.parse_data(x_data)
#//div[@class="stbody "]//p[1]/text()|//div[@class="stbody first"]//p[1]/text()if __name__ == '__main__':spider=Spiderqinghua()spider.main()# h = spider.get_data()# # print(h)# spider.get_list_data(h)

运行结果:

dc1ff20b0bdc4e12bd995ab08d0c72a7.png

cdc903e90ed54574945aacca9ff486eb.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vite学习教程03、vite+vue2打包配置

文章目录 前言一、修改vite.config.js二、配置文件资源/路径提示三、测试打包参考文章资料获取 前言 博主介绍:✌目前全网粉丝3W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容&…

云手机可以解决TikTok运营的哪些问题?

随着社交媒体的飞速发展,TikTok迅速崛起,成为个人和企业进行品牌宣传和内容创作的首选平台。然而,在运营TikTok账号的过程中,不少用户会遇到各种问题。本文将详细阐述云手机如何帮助解决这些问题。 1. 多账号管理的高效便捷 通过云…

外包功能测试干了4年,技术退步太明显了。。。。。​

先说一下自己的情况,本科生,18年通过校招进入武汉某软件公司,干了差不多4年的功能测试,今年中秋,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

精准选择大模型:消费品行业的营销与体验创新之路

在消费品行业,大模型技术的引入正逐渐从一个新兴趋势转变为行业标配。随着人工智能的快速发展,特别是OpenAI等领军企业推出的创新技术,如Sora,大模型在市场营销、消费者行为分析、个性化推荐等方面展现出巨大潜力。然而&#xff0…

详解Java中的BIO、NIO、AIO

1、 详解Java中的BIO、AIO、NIO 1.1、引言 IO流是Java中比较难理解的一个知识点,但是IO流在实际的开发场景中经常会使用到,比如Dubbo底层就是NIO进行通讯。本文将介绍Java发展过程中出现的三种IO:BIO、NIO以及AIO,重点介绍NIO。…

动态桌面时钟 让时间在桌面舞动 发现生活中的美好瞬间!

在快节奏的现代生活中,时间是最宝贵的资源之一。无论是在工作还是生活中,我们都需要时刻关注时间,在桌面显示一个时钟,可以让你更方便的掌握时间。今天小编给大家推荐一个软件《芝麻时钟》(下载地址:https:…

Linux高级编程_29_信号

文章目录 进程间通讯 - 信号信号完整的信号周期信号的编号信号的产生发送信号1 kill 函数(他杀)作用:语法:示例: 2 raise函数(自杀)作用:示例: 3 abort函数(自杀)作用:语法:示例: 4 …

汇编DEBUG程序调用

工具 系统:Windows 11 应用:DOSBox 0.74-3 下载安装教程:本人写的《DOSBox下载安装(Windows系统 DOSBox 0.74-3)》 https://blog.csdn.net/just_do_it_sq/article/details/142715182?spm1001.2014.3001.5501 相关文…

ARM 架构、cpu

一、ARM的架构 ARM是一种基于精简指令集(RISC)的处理器架构. 1、ARM芯片特点 ARM芯片的主要特点有以下几点: 精简指令集:ARM芯片使用精简指令集,即每条指令只完成一项简单的操作,从而提高指令的执行效率…

沂机管理系统/data/Ajax.aspx接口存在SQL注入漏洞

漏洞描述 沂机管理系统/data/Ajax.aspx接口存在SQL注入漏洞,攻击者可以获取服务器权限 漏洞复现 body"后台管理系统演示版" POC GET /data/Ajax.aspx?methodlog_list&page1&limit20&fkey1&fdate12024-10-0100%3A00%3A00&fdate2…

文章资讯职场话题网站源码整站资源自带2000+数据

介绍: 数据有点多,数据资源包比较大,压缩后还有250m左右。值钱的是数据,网站上传后直接可用,爽飞了 环境:NGINX1.18 mysql5.6 php7.2 代码下载

全球IP归属地查询-IP地址查询-IP城市查询-IP地址归属地-IP地址解析-IP位置查询-IP地址查询API接口

IP地址城市版查询接口 API是指能够根据IP地址查询其所在城市等地理位置信息的API接口。这类接口在网络安全、数据分析、广告投放等多个领域有广泛应用。以下是一些可用的IP地址城市版查询接口API及其简要介绍 1. 快证 IP归属地查询API 特点:支持IPv4 提供高精版、…

【零基础入门产品经理】学习准备篇 | 需要学一些什么呢?

前言: 零实习转行产品经理经验分享01-学习准备篇_哔哩哔哩_bilibili 该篇内容主要是对bilibili这个视频的观后笔记~谢谢美丽滴up主友情分享。 全文摘要:如何在0实习且没有任何产品相关经验下,如何上岸产品经理~ 目录 一、想清楚为什么…

k8s的简介和部署

一、k8s简介 在部署应用程序的方式上面,主要经历了三个阶段: 传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单,不需要其它技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源&…

从零开始,她如何为客户创建语义知识图谱?

在这篇文章中,Capgemini 的知识图谱负责人 Veronika Heimsbakk 分享了她为客户创建语义知识模型的方法。阅读本指南,了解她如何与客户合作,从头开始构建语义知识模型,并发现可以应用于您自己的语义建模项目的实践。 如何为客户构…

参数标准+-db和-db

-db是因为比值是相近的,值越进行越好,正负db代表两个值差异不大,可以分子比分母大或者分母比分子大-db代表串扰,分子比分母小,所以负db的值越小越好

5G NR BWP 简介

文章目录 BWP介绍BWP 分类BWP相关总结 BWP介绍 5G NR 系统带宽比4G LTE 大了很多,4G LTE 最大支持带宽为20MHz, 而5G NR 的FR1 最大支持带宽为100MH在, FR2 最大支持带宽为 400MH在。带宽越大,意味了终端功耗越多。为了减少终端的…

(C语言贪吃蛇)16.贪吃蛇食物位置随机(完结撒花)

目录 前言 修改方向 修改内容 效果展示 两个新的问题🙋 1.问题1 2.问题2 代码如下: 前言 我们上一节实现了贪吃蛇吃食物身体节点变长,但是食物的刷新位置不是随机的,并且初始化几次后食物就刷不见了,本节我们就来…

基于webComponents的纯原生前端框架

我本人的个人开发web前端前框架xui,正在开发中,业已完成50%的核心开发工作,并且在开发过程中逐渐完善. 目前框架未采用任何和市面上框架模式,没有打包过程,实现真实的开箱即用。 当然在开发过程中也会发现没有打包工…

机器学习系列篇章0 --- 人工智能机器学习相关概念梳理

说明 人工智能(Artificial Intelligence, AI)是大势所趋,我们正处于一个AI开始大爆发的时代,基于AI的各类工具在科研、生产、生活各方各面给我们带来了巨大的便利和影响(好的以及坏的),有关AI的一切我们不可不察。 我并非计算机这个行当的科…