Python爬虫(入门版)

news2024/12/23 13:31:51

1、爬虫是什么

         简单的来说:就是用程序获取网络上数据。

2、爬虫的原理

        如果要获取网络上数据,我们要给爬虫一个网址(程序中通常叫URL),爬虫发送一个HTTP请求给目标网页的服务器,服务器返回数据给客户端(也就是我们的爬虫),爬虫再进行数据解析、保存等一系列操作。

3、爬虫基本流程

用户获取网络数据的方式:

        方式1:浏览器提交请求—>下载网页代码—>解析成页面

        方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中

爬虫要做的就是方式 2。

3.1、发起请求

使用http库向目标站点发起请求,即发送一个Request

Request包含:请求头、请求体等

Request模块缺陷:不能执行JS 和CSS 代码

3.2、获取响应内容

如果服务器能正常响应,则会得到一个Response

Response包含:html,json,图片,视频等

3.3、解析内容

解析html数据:正则表达式(RE模块)、xpath(主要使用)、beautiful soup、css

解析json数据:json模块

解析二进制数据:以wb的方式写入文件

3.4、保存数据

数据库(MySQL,Mongdb、Redis)或 文件的形式。

4、爬虫代码

# 导入requests模块,设置 url为百度翻译网页的网址。
import requests

def English_Chinese():
	url = "https://fanyi.baidu.com/sug"
	s = input("请输入要翻译的词(中/英):")
	dat = {
		"kw":s
		}

	resp = requests.post(url,data = dat)# 发送post请求
	ch = resp.json() # 将服务器返回的内容直接处理成json => dict
	resp.close()
	dic_lenth = len(ch['data'])
	for i in range(dic_lenth):
		print("词:"+ch['data'][i]['k']+" "+"单词意思:"+ch['data'][i]['v'])

主要使用requests库

5、学习资源与经验总结

学习爬虫需要掌握以下几个方面:

  1. 编程语言:Python是目前最常用的爬虫语言,因此需要掌握Python的基本语法和常用的库。
  2. 基础知识:需要了解计算机网络的基本知识,包括HTTP协议、TCP/IP协议、DNS协议等。
  3. 爬虫框架:学习使用一些爬虫框架,如Scrapy、BeautifulSoup等,可以加快爬虫的开发速度。
  4. 浏览器抓包:学习使用抓包工具,如Fiddler、Wireshark等,可以帮助理解网站的数据传输过程。
  5. 反爬机制:了解网站的反爬机制,如封IP、封账号、封代理等,可以帮助避免被网站禁止访问。
  6. 数据清洗:学习使用数据清洗工具和方法,如正则表达式、BeautifulSoup等,可以帮助处理不同格式的数据。
  7. 法律法规:了解相关法律法规,如个人信息保护法、知识产权法等,避免侵犯他人的合法权益。

另外:

  1. python学习路线:很多网站都有免费的学习路径,这里不在赘述,例如python学习路线
  2. 很多网站对IP的要求很高,短时间请求十几次就会遭关进小黑屋。明显是网站进行了反爬处理:限制IP请求频率。这个时候,我们只有加代理进行访问请求了。这里推荐一款最近发现的代理商家:协采云IP池

         

        如果大量访问某个网站,一个稳定的代理访问是必不可少的。

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

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

相关文章

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露 如果进程进入了僵尸状态,kill…

宝塔面板安装教程(linux)

宝塔官网地址 宝塔官网linux安装地址 针对Ubuntu系统的安装命令: wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec 安装过程中,中途会出现一个 Y&N ? 的选项&#xf…

李沐62_序列到序列学习seq2seq——自学笔记

"英-法”数据集来训练这个机器翻译模型。 !pip install --upgrade d2l0.17.5 #d2l需要更新import collections import math import torch from torch import nn from d2l import torch as d2l循环神经网络编码器。 我们使用了嵌入层(embedding l…

【笔记1】从零开始做一个男头的流程(超级详细)

目录 大体 眼窝 鼻子 脖子 耳朵 嘴巴1 颧骨 嘴巴2 眼睛 头 开始细化 大体 眼窝 嘴巴 鼻子 大体 注意!!先整体后局部,一开始不要加太多的线,尽量先用最少的线调整出一个大体的结构。 1.准备好参考图,在…

2024年的Java版本选择?java 17 安装

文章目录 2024年的Java版本选择?java 1.8 和 java17 什么区别?java 17 安装windows 11安装java 17C:\Program Files\Common Files\Oracle\Java\javapath是什么 2024年的Java版本选择? 3年前,java 1.8是市场主流(还有一…

Acrobat Pro DC 2023:专业PDF编辑软件,引领高效办公新时代

Acrobat Pro DC 2023是一款专为Mac和Windows用户设计的专业PDF编辑软件,凭借其强大的功能和卓越的性能,成为现代职场人士不可或缺的得力助手。 这款软件拥有出色的PDF编辑能力。用户不仅可以轻松地对PDF文档中的文字、图片和布局进行编辑和调整&#xf…

PyAudio安装!!解决使用pip install PyAudio安装报错问题

如果使用pip install PyAudio安装报错 一般建议选择本地安装 但是本人也是从网上找了很多资料,发现本地的wheel的网址打开没有文件了 然后我就用了这个方法,对于我的电脑是非常有效果的!! 如果指令装不上的话 PyAudio PyPI …

linux中git的使用

为什么要有git git相当于一个仓库可以让我们更好的去管理我们的代码,实现版本的控制,上传到云端仓库。有了git,就可以实现多人同时开发一个项目(每个负责一部分代码,最后都上传到同一个仓库)。 git github/gitee 的区…

Burp 指纹识别+OA弱口令爆破-BurpFingerPrint

简介 攻击过程中,我们通常会用浏览器访问一些资产,该BurpSuite插件实现被动指纹识别网站提取链接OA爆破,可帮助我们发现更多资产。 功能如下 下述功能会在2024年5月底完成,如果有更好的建议都可以提,然后再麻烦点个…

linux磁盘原理

在linux系统中,对磁盘进行管理与windows系统类似,都要先分区,格式化,创建文件系统,挂载目录,数据写入

【Unity动画系统】Animator组件的属性

介绍Animator组件的全部属性 Controller:动画控制器 Avatar:人物骨骼 Apply Root Motion:有一些动画片段自带位移,如果希望自带的位移应用在游戏对象上,那么就勾选;如果自己编写脚本,那么就不…

Milvus Cloud 向量数据库Reranker成本比较和使用场景

成本比较:向量检索 v.s. Cross-encoder Reranker v.s. 大模型生成 虽然 Reranker 的使用成本远高于单纯使用向量检索的成本,但它仍然比使用 LLM 为同等数量文档生成答案的成本要低。在 RAG 架构中,Reranker 可以筛选向量搜索的初步结果,丢弃掉与查询相关性低的文档,从而有…

使用webpack给大屏自适应插件autofit.js增加umd打包方式

最近有个大屏自适应的需求,而且想直接通过script标签来引入自适应的插件js,搜索相中了autofit.js,可惜不支持umd格式的引入,虽然也能直接copy源码,但是还是折腾下给它打包成umd格式的代码。 fork源码,克隆…

第10章 项目管理基础知识

一、项目概述 (一)项目 在既定的项目资源要求和约束下,为实现特定目标而相互联系的一次性活动(资源任务)。世界上没有两个完全相同的项目项目有资源约束,一定的目的,是一次性。 (…

面试官:Docker和传统虚拟机有什么区别?

我有一个程序员朋友,他每年情人节都要送女朋友一台服务器。 他说:“谁不想在过节当天收到一台 4核8g 的服务器呢?” “万一对方不要,我还能留着自己用。” 给他一次过节的机会,他能把浪漫玩的明明白白。 所以今年情人…

APP上架APP Store因为苹果登录被拒,该如何解决

之前有一段时间 ,我们的APP因为苹果登录被拒了几次。分享出来,希望对大家有所帮助。 主要有两种被拒理由: 没有登录/苹果登录。登录按钮设计不符合标准。 这其实是很小的一件事情。但是就是这么小的事情,我们在这上面栽了几次跟…

【算法学习】day2

文章目录 BFS1.图像渲染2.岛屿数量 BFS 1.图像渲染 思路:BFS宽度遍历,我们需要对初始像素进行一层一层遍历,也就是上下左右四个方向进行遍历判断,如何访问这四个方向呢,就需要利用两个数组dx和dy来进行判断和遍历&…

uniapp关于iconfont字体图标使用

1、打开[阿里巴巴矢量图标库](https://www.iconfont.cn/),选择需要的图标添加到购物车 2、点开购物车,将图标添加到项目 3、点开项目,点击下载至本地,会得到一个download.zip包 4、解压download包 5、将包里的iconfont.css和iconf…

d16(149-153)-勇敢开始Java,咖啡拯救人生

跳过了p151 四小时的讲题我不敢听:) Stream Stream流,是JDK8后新增的API,可以用于操作集合或者数组的数据 优势:大量结合了Lambda的语法风格,该方式更强大更简单,代码简洁,可读性好 常用方法 …

2023最新!Git2.40.0于win10环境下的安装

2023最新!Git2.40.0于win10环境下的安装 git官网地址:https://git-scm.com/download/win/ 导航 文章目录 2023最新!Git2.40.0于win10环境下的安装导航一、下载Git二、安装Git三、检验 一、下载Git Git官网选择自己所需的版本下载 二、安装…