初级爬虫的总结一

news/2024/9/24 11:20:59/

初级爬虫的总结一之百度网页爬虫

  • 一、寻找正确的sugrec
  • 二、url拼接出问题,解决办法

我遇到的问题:
1、没有找对网页sugrec,导致connect-type没有找对,以及一些小问题
2、url拼接时候出现乱码


一、寻找正确的sugrec

1、打开百度网址,看看进行搜索时候,该网页标签是否在进行变化
在这里插入图片描述
2、右键点开查找
在这里插入图片描述
3、点击网络,再点击下面的fetch/XHR在这里插入图片描述在这里插入图片描述
4、点击百度一下,请注意出现的这个sugrec,之后会用到的
在这里插入图片描述
5、输入你要查找的词汇,在网址栏中喜欢后面的删除,回车一下,将会得到,我们需要的sugrec
在这里插入图片描述
6、得到要用的sugrec
在这里插入图片描述

二、url拼接出问题,解决办法

当 response = requests.get(url=url,params=param,headers=headers) 中无法出现正确的地址时
采用:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
rom urllib.parse import urljoin, quote, urlencodeif __name__ =="__main__":headers={"User-Agent":"填你自己的"}base_url = "https://www.baidu.com/"# 拼接URLurl = urljoin(base_url, 's?wd=')#检查URL是否拼接正确print(url)# 动态查询kw = input('enter a word:')url=url+kw# response = requests.get(url=url,params=param,headers=headers)response = requests.get(url=url, headers=headers)#print(response.status_code) #检查response是否查询成功 200(成果)page_text = response.textfilename =kw+'.html'with open(filename,'w',encoding='utf-8') as fp:fp.write(page_text)print(filename,'over!')

一点点的拓展关于json:
不知道json代码哪里出问题了,可以采用以下的代码:

    try:dic_obj = response.json()except json.JSONDecodeError:print('JSON解析错误,响应内容可能不是有效的JSON格式')except requests.exceptions.RequestException as e:print(f'请求发生错误:{e}')else:print(dic_obj)fileName=kw+'.json'fp = open('fileName','w',encoding='utf-8')json.dump(dic_obj,fp=fp,ensure_ascii=False)print('over!')

http://www.ppmy.cn/news/1463685.html

相关文章

组合惯导串口数据解析

首先是给串口usb以权限: sudo chmod 666 /dev/ttyUSB0但是不能每次启动都执行一次,所以需要给一个永久的权限指令: sudo gedit /etc/udev/rules.d/70-ttyusb.rulesKERNEL“ttyUSB[0-9]*”, MODE“0666”然后就能让ttyUSB0-ttyUSB9默认的权限…

常用目标检测预训练模型大小及准确度比较

目标检测是计算机视觉领域中的一项重要任务,旨在检测和定位图像或者视频中的目标对象。当人类观看图像或视频时,我们可以在瞬间识别和定位感兴趣的对象。目标检测的目标是使用计算机复制这种智能。 近年来,目标检测网络的发展日益成熟&#…

C语言从头学12——流程控制(一)

C语言程序的执行顺序是从前到后依次序执行的。如果想要控制程序执行的流程,就必须使用 流程控制的语法结构,分为条件执行和循环执行。 1、if语句 if 语句在前面的举例中曾经出现过,这里做详细介绍。该语句用于条件判断,满…

【译】MySQL复制入门: 探索不同类型的MySQL复制解决方案

原文地址:An Introduction to MySQL Replication: Exploring Different Types of MySQL Replication Solutions 在这篇博文中,我将深入介绍 MySQL 复制,回答它是什么、如何工作、它的优势和挑战,并回顾作为 MySQL 环境&#xff0…

python 使用OCR 识别woff字体文件

做数据获取安**时发现请求返回的数据跟woff字体有关,这里写一个使用OCR识别方法, 1、重要部分的原理是解析woff文件,并将woff字体转为图片,并将字体编码与字体图片相对应,便于之后的数据解密解析。 2、使用的是muggl…

【MySQL精通之路】SQL优化(1)-查询优化(1)-WHERE子句

主博客: 【MySQL精通之路】SQL优化(1)-查询优化-CSDN博客 下一篇: 【MySQL精通之路】SQL优化(1)-查询优化(2)-范围查询优化-CSDN博客 本节讨论可用于处理WHERE子句的优化。 这些示例使用SELECT语句,但DELETE和UPDATE语句中的WHERE子句也适…

【吊打面试官系列】Java高并发篇 - Java 死锁以及如何避免?

大家好,我是锋哥。今天分享关于 【Java 死锁以及如何避免?】面试题,希望对大家有帮助; Java 死锁以及如何避免? Java 中的死锁是一种编程情况,其中两个或多个线程被永久阻塞,Java 死锁情况出现至…

Python Requests库中data与json参数的区别

这里写目录标题 概述详细分析综合应用结论 概述 在Python的Requests库中,data和json参数常用于在HTTP请求中发送数据。它们的主要区别在于数据的编码方式和Content-Type头部。data参数通常用于发送表单数据,其数据会被编码为application/x-www-form-url…