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

2024-04-30 07:44

本文主要是介绍【酱浦菌-爬虫项目】爬取学术堂论文信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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.chinasem.cn/article/948273

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll