【酱浦菌-爬虫项目】爬取学术堂论文信息

1. 首先,代码定义了一个名为

   ```
   url
   ```

   的变量,它是一个包含三个网址的集合(或者说是一个集合的字典)。这些网址分别是:

   - ‘http://www.xueshut.com/lwtimu/127966.html’
   - ‘http://www.xueshut.com/lwtimu/127966_2.html’
   - ‘http://www.xueshut.com/lwtimu/127966_3.html’

2. 接下来,设置了一个HTTP请求的头部信息,模拟了一个Chrome浏览器的请求。

3. 然后,通过`requests.get()`方法,分别发送GET请求到这三个URL,并将响应内容保存在`response`变量中。

4. 由于网站的编码方式可能不同,这里使用了一些编码转换操作:

   - `response.text.encode('iso-8859-1').decode('gbk')`将响应内容从ISO-8859-1编码转换为GBK编码。

5. 创建一个`parsel.Selector`对象,用于解析HTML内容。

6. 从HTML中选择所有满足条件的元素:

   - 使用CSS选择器`'p span[style="font-family: 宋体"]'`,找到所有带有`style`属性值为“font-family: 宋体”的`<span>`元素。
   - 使用XPath表达式`.//text()`,提取这些`<span>`元素内的文本内容。

7. 遍历每个提取到的文本:

   - 打印文本内容,表示下载成功。
   - 将文本内容追加到名为’pc_biye.text’的文件中(以UTF-8编码保存)。

8. 最后,完成了对这三个网址的文本下载操作。

完整代码如下:

import requests
import parsel
import os 
url = {'http://www.xueshut.com/lwtimu/127966.html','http://www.xueshut.com/lwtimu/127966_2.html','http://www.xueshut.com/lwtimu/127966_3.html'   
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'
}
for url in url:response = requests.get(url=url, headers=headers)response_decoded = response.text.encode('iso-8859-1').decode('gbk')selector = parsel.Selector(response_decoded)text = selector.css('p span[style="font-family: 宋体"]').xpath('.//text()').extract()for text in text:print(f'{text}下载成功')#print("\n")with open('pc_biye.text','a',encoding='utf-8') as f:f.write(text)

运行效果如下:

 

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

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

相关文章

JAVA前端快速入门基础_javascript入门(02)

写在前面:本文用于快速学会简易的JS&#xff0c;仅做扫盲和参考作用 1.JavaScript函数 什么是函数:执行特定任务的代码块 1.1定义&#xff1a; 使用function来进行定义(类似于python里面的def 或者java和c里面的void&#xff0c;int这些返回类型开头)。定义规则如下: func…

AI大模型探索之路-训练篇8:大语言模型Transformer库-预训练流程编码体验

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

【GAMES 101】图形学入门——着色(Shading)

定义&#xff1a;将不同材质内容应用于不同物体对象上的过程。着色只考虑着色点的存在&#xff0c;不考虑其他物体的遮挡等&#xff0c;因此不考虑阴影处理 一些前期内容的定义&#xff1a; 着色点&#xff08;Shading Point&#xff09;观测方向&#xff08;Viewer Directio…

城会玩,Selenium+Docker成功解决这一大难题

01、需求背景 日常测试中会遇到对web应用进行UI自动化的测试场景&#xff0c;一般常用的工具是使用Selenium&#xff0c;一套简单的UI自动化架构如下&#xff1a; 上图即为简单搭建的一套UI自动化测试架构&#xff0c;但 串行执行测试用例&#xff1a; 一台机器只能安装一个…

第十五届蓝桥杯省赛第二场C/C++B组H题【质数变革】题解

解题思路 首先&#xff0c;我们考虑一下整个数组都是由质数构成的情况。 当我们要将质数 x x x 向后移 k k k 个时&#xff0c;如果我们可以知道质数 x x x 在质数数组的下标 j j j&#xff0c;那么就可以通过 p r i m e s [ j k ] primes[j k] primes[jk] 来获取向后…

自动化神器,获客秘籍揭秘!

在如今这个信息爆炸的时代&#xff0c;企业如何高效精准地获客成为了一个重要课题。传统的营销方式不仅成本高昂&#xff0c;且效果往往难以衡量。然而&#xff0c;随着自动化工具的兴起&#xff0c;这一切都在悄无声息中发生着翻天覆地的变化。 我们得了解一下什么是自动化工具…

FebHost:为什么短域名在数字世界这么重要?

寻找完美的短域名&#xff0c;就好比在节假日商场促销时争夺一个最佳停车位&#xff0c;它关乎的是如何进场、出场以及给人留下深刻印象。 那么&#xff0c;为什么短域名如此重要&#xff1f;又该如何为自己寻找合适的短域名呢&#xff1f;下面&#xff0c;我们来详细探讨一下…

2024年Docker常用操作快速查询手册

目录 一、Linux系统上 Docker安装流程&#xff08;以ubuntu为例&#xff09; 一、卸载所有冲突的软件包 二、设置Docker的apt存储库&#xff08;这里使用的是阿里云软件源&#xff09; 三、直接安装最新版本的Docker 三、安装指定版本的Docker 四、验证Docker是否安装成功…

redis主从+哨兵搭建

redis主从哨兵搭建 1. 工程准备2. 基于Dockerfile构建2.1 拷贝工程到工作目录2.2 安装依赖包2.3 解压redis安装包、编译、安装2.4 拷贝配置文件到安装目录 3. 配置文件3.1 redis-master.conf3.2 redis-slave.conf3.3 sentinel-master.conf3.4 sentinel-slave.conf 4. 启动redis…

使用groovy+spock优雅的进行单测

使用groovyspock优雅的进行单测 1. groovyspock示例1.1 简单示例1.2 增加where块的示例1.3 实际应用的示例 2. 单测相关问题2.1 与SpringBoot融合2.2 单测数据与测试数据隔离2.3 SQL自动转换&#xff08;MySQL -> H2&#xff09; 参考 Groovy是一种基于JVM的动态语言&#x…

用户中心(中)

文章目录 数据库设计用户表建表 登录/注册后端一、规整项目目录二、实现基本数据库操作自动生成器的使用**(1) 模型 user 对象自动生成****(2) 测试一下** 三、注册逻辑四、测试 数据库设计 1.什么是数据库&#xff1f;存数据的 2.数据库里有什么&#xff1f;数据表(理解为exce…

基于ST的STM32F407ZGT6嵌入式uCOS-III V3.08 操作系统工程实验

1.基于的开发板 2.原理图截图: 3.主控芯片框图与性能特点: High-performance foundation line, Arm Cortex-M4 core with DSP and FPU, 1 Mbyte of Flash memory, 168 MHz CPU, ART Accelerator, Ethernet, FSMC The STM32F405xx and STM32F407xx family is based on the high…