【更新ing】【Python web_crawler】简单爬虫1获取数据---我的python学习笔记1

萌新学爬虫笔记4步

①数据获取 ②数据清洗 ③数据分析 ④数据保存(④数据可视化)

python通过url来获取互联网资源

1、 什么是url?

URL(Uniform Resource Locator,统一资源定位符)

我们通常说的是“网址”,实际是资源唯一确定的标签。

2、url的结构

三大部分:
第一部分:protocl
耳熟能详的:http 、 https

第二部分:hostname[:port]
用于存放各种资源文件的服务器或者是IP。
端口号可是默认,如http协议默认为80.

第三部分:path
文件的具体位置。

如:
https://++++www.csdn.net+++++ /nav/python

python取得url资源的urllib工具包

一、urllib.request模块

from urllib import request
# 或者import urllib.request
导入模块

1、请求数据 urlopen方法

①首先实例一个Request类对象

url = request.Request("http://www.zongheng.com/", data=None, headers=None)

第一个参数是url 要访问的资源地址。

data 是传递给服务器的数据(表单等)。
比如翻译单词:将 "python"这个单词作为数据data发送(POST)给服务器。

headers 传递给服务器的报头(访问者的个人信息),
用修改headers来使爬虫伪装成浏览器。
其他Request()方法

.add_headers     添加报文头
.add_data        添加数据
...

②用urlopen获取数据

respond = request.urlopen(url, data=None, timeout=None)
respond = respond.read().decode("utf-8")

data 与Request 的 data意义相同。
timeout 可设置访问超时退出,时间单位是/s。

urlopen()中的其它方法

.read(x)        以字节字符串的形式读取x btyes(kb的上一个单位b)个数据
.readline()     以 字符串 形式读取 单行**文本** 与处理txt文件相似
.readlines()
.info           返回服务器返回的报头信息
.geturl         取得实际URL
.getcode        返回服务器状态,200是正常访问,404网页丢失
...

③别忘解码
respond类对象是二进制对象,需要解码才能进行文本操作。

.encode()   编码
.decode()   解码

常见的有gbk、utf-8 ,excel表格常用gb18030
点此了解更多关于编码和解码的内容

homepage = respond.decode("utf-8")
print(homepage)

全部完整代码

from urllib import request
# 或者 import urllib.request
url = request.Request("http://www.zongheng.com/")
# 这里的Request类实例中 data=None, timeout=None 参数要去掉
respond = request.urlopen(url, data=None, timeout=None)
homepage = respond.read().decode("utf-8")
print(homepage)

2、web_crawler 伪装 —自定义Opener

urlopen()函数不支持如使用代理、验证(账号密码验证)、更改cookie等高级HTTP功能。若要实现该功能就需要用request模块中的 build_opener()方法创建自己的自定义opener对象。

session:“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。

cookie:是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据,由用户客户端计算机保存的信息。

①使用opener的步骤
1、建立具有特殊处理程序实例对象

proxy_support = request.ProxyHandler({"http":"服务器地址或IP:端口号"})
...

2、创建opener实例对象,传入实例

opener = request.build_opener(prxy_support)

3、安装or单次调用

1、
request.install_opener(opener)# 安装,会覆盖原先的
...urlopen(url...)# 接着使用urllopen
2、
opener.open(url) # 单次使用opener

②其它特殊处理程序
1、密码验证
验证码问题不知道怎么解决,学习中,目测需要手写字体识别(深度学习)
因为内容比较多,单独列———
【Python web_crawler】爬虫密码管理

二、urllib.parse模块

parse模块用来解析和编码url
当向服务器发送请求时的url是需要编码的。
1、urlencode()用来编码中文等特殊字符

爬虫Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值