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

news/2024/11/29 13:42:21/

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.ppmy.cn/news/1446189.html

相关文章

2024.4.29 —— LeetCode 高频题复盘

目录 56. 合并区间124. 二叉树中的最大路径和19. 删除链表的倒数第 N 个结点72. 编辑距离93. 复原 IP 地址1143. 最长公共子序列94. 二叉树的中序遍历82. 删除排序链表中的重复元素 II704. 二分查找199. 二叉树的右视图 56. 合并区间 题目链接 class Solution:def merge(self,…

物联网应用技术综合实训室解决方案

一、背景 随着物联网技术的快速发展和广泛应用&#xff0c;物联网产业已经成为新的经济增长点&#xff0c;对于推动产业升级、提高社会信息化水平具有重要意义。因此&#xff0c;培养具备物联网技术应用能力的高素质人才成为了迫切需求。 传统的教育模式往往注重理论教学&…

老机安装sw2024出现ig9icd64:0002db62错误问题

C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_7be3d75c5adc8917 1。查找ig9icd64.dll&#xff0c;发现在C:\Windows\System32\DriverStore\FileRepository目录下有5个&#xff0c; 分别是不同年份的&#xff0c;试着替换了一下&#xff0c;发现不行&am…

前后端分离实践:使用 React 和 Express 搭建完整登录注册流程

文章目录 概要整体架构流程技术名词解释ReactExpressReact RouterAnt Design 技术细节前端设计后端逻辑数据交互 小结 概要 本项目是一个基于React和Express的简单登录注册系统。通过前后端分离的方式&#xff0c;实现了用户的注册、登录和查看用户列表等功能。前端使用React框…

C# 通过阿里云 API 实现企业工商数据查询

目录 应用场景 关于阿里云企业工商数据查询API 开发运行环境 类设计 类属性 类方法 实现代码 创建 Company 类 调用举例 小结 应用场景 在企业会员后台注册系统中&#xff0c;为验证企业名称是否输入完整且是有效存在的&#xff0c;则可以通过云API服务的方式进行验…

【Vue3】toRefs与toRef的使用

文章目录 toRefs简介toRef简介错误案例 toRefs简介 toRefs对对象内多个值转换成响应式数据 代码展示 let testData reactive({aa:"111",bb:"222",cc:"333"})//转为响应式数据let {aa,bb,cc} toRefs(testData)console.log(aa);console.log(bb)…

《Fundamentals of Power Electronics》——Buck电路

以下主要是关于Buck电路的的学习内容&#xff1a; Buck电路的电路拓扑如下图所示&#xff0c;其中开关管用一个单刀双掷开关来代替&#xff1a; 下面是在simulink中搭建的一个Buck电路的仿真实验平台&#xff0c;其中直流输入电压为50V&#xff0c;电感值为1mH(模拟电阻为1毫欧…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-5

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…