python爬虫(未完)与很少一点http

Python网络爬虫与信息提取(实例讲解) 下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 课程体系结构: 1、Requests框架:自动爬取HTML页面与自动网络请求提交 2、robots.txt:网络爬虫排除标准 3、BeautifulSoup框架:解析HTML页面 4、Re框架:正则框架,提取页面关键信息 5、Scrapy框架:网络爬虫原... 阅读详情

HTTP协议简述

w3schoolHTTP状态消息
w3schoolGET与POST

协议分类

HTTP1.0:开放80端口,一次一个连接
HTTP1.1:开放80端口,多次可以一个连接
HTTP采用明文传输,不安全
HTTPS:开放443端口,加密数据传输

请求方法

HTTP1.0:GET POST HEAD
HTTP1.1:OPTIONS PUT DELETE TRACE CONNECT PATCH

HTTP请求头

User-Agent:浏览器版本信息
Accept-encoding:浏览器接受的编码
Referer:当前网页从哪里跳转过来
Cookie:Cookie信息
Location:跳转到哪里
Set-Cookie:设置Cookie信息
WWW-Authenticate:用于身份验证

HTTP响应状态码

1XX:信息提示
2XX:成功
3XX:重定向
4XX:客户端错误
5XX:服务端错误

python处理HTTP请求

import requests

GET

不带参数:r = requests.get(url)
带参数:r = requests.get(url=url,params={‘key1’:‘value1’,‘key2’:‘value2’})
r.url:查看请求的url

POST

不带参数:r = requests.post(url)
带参数:r = requests.post(url=url,data={‘key1’:‘value1’,‘key2’:‘value2’})

自定义请求头

headers=(‘key1’:‘value1’)
requests.get(url,headers=headers)

其他请求

r = requests.put
r = requests.delete
r = requests.head
r = requests.options

python与HTTP响应

获取响应状态码

r.status_code

获取响应文本

r.content:二进制文本,获取之后不是一个字符串
r.text:获取之后是一个字符串,但中文乱码,可以使用r.encoding="utf-8"来转码

获取响应头

响应头:r.headers
请求头:r.request.headers

获取cookie

r.cookie

获取请求url

​ r.url

python与HTTP代理

代理设置

http
https

参数设置

proxies:设置代理
verify=False:HTTPS要验证证书合法性,设置此参数可以避免

import requests
url="https://www.baidu.com"
#ip 192.168.100.9
proxise = {'http':'http://192.168.100.9:8080','https':'https://192.168.100.9:8080'}
r = requests.get(url,proxise=proxise,verify=False)

结合BP查看

python会话

携带cookie的会话

访问某些页面时,会通过set-cookie设置cookie值,以便下一次访问自动提交cookie进行身份验证

python-Session

s = requests.Session()
r = s.get(url)
import requests
url = "https://www.baidu.com"
s = requests.Session()

r = s.get(url)
print(r.cookies)
print(r.request.headers)

r1=s.get(url)
print(r1.request.headers)

python目录扫描

目录扫描原理

1.读取字典文件,拼接url
2.HTTP GET请求URL
3.判断状态码,status_code=200,输出对应的目录

字典文件读取

#读入文件
with open("filename.txt","r") as f:
#每次读取一行
f.readline()
#全部读取
f.readlines()
#读取a个字节数
f.read(a)
with open("dir.txt",r) as f:
    for line in f.readlines():
        print(line.strip())#strip()删除空行

工具编写

读取字典文件
HTTP GET请求
参数优化

import requests
import sys

url = sys.argv[1]#通过命令行来获取
with open ("dir.txt","r") as f:
    for line in f.readlines():
        line = line.strip()
        r=requests.get(url+line)
        if r.status_code == 200:
            print("url:"+r.url+" exist")
此时命令行语句:python a.py url地址
若dic=sys.argv[2]
with open(dic,"r") as f:
则命令行语句:python a.py url地址 爆破参数地址

命令行参数传递

sys.argv[0]

文件读写

open(filename,mode)

r:读
w:写,会覆盖之前的内容
a:追加

自定义User-Agent

获取合法的user-agent,避免反爬

python-IIS PUT漏洞

工具原理

IIS中WebDAV支持HTTP方法,也提供了一些其他功能强大的方法(move),使得开启WebDAV可以直接上传任意文件
使用HTTP options方法可以探测出服务器支持的HTTP方法

工具编写

1.确定目标服务器
2.发送options请求
3.确定结果中是否具有move put

import requests

url="http://172.16.1.129"

r=requests.options(url)

print(r.headers)
print(r.headers["Allow"])
print(r.headers["Public"])
#webdav开启的方法会在public中展示
result = r.headers['Public']
if result.find("PUT") and result.find("MOVE"):
    print("exist iis put vul")
else:
    print("not exist")

python获取HTTP服务器信息

获取中间件信息

IIS
Apache

获取脚本信息

IIS:

import requests

url="http://172.16.1.129"

r=requests.get(url)
print(r.headers['Server'])#服务器中间件
print(r.headers['X-Powered-By'])#服务器脚本

Python漏洞检测

ms15-034

漏洞原理

漏洞被披露后,根据漏洞原理写出对应的POC代码,用来验证漏洞是否存在

代码编写

“GET/HTTP/1.1\r\nHost:stuff\r\nRange:bytes=0-18446744073709551615\r\n\r\n”

import requests

url = "http://172.16.1.130"

r=requests.get(url)
#检测是否是存在漏洞的版本
remote_sever = r.headers['Server']
if remote_sever.find(7.5) or remote_find(8.0):
    payload={'Host':'stuff','Range':'bytes=0-18446744073709551615'}
    r1 = requests.get(url,headers=payload)
    if str(r1.content).find("Requested Range Not Satisfiable"):
        print(url + "exit vuln ms15-034")
    else:
        print("no vuln")
else:   
	print("Server not exit th vul")

验证检测效果

搭建漏洞环境用于测试
与其他工具进行效果对比

#站点地图构建

测试Web App首要任务

获取站点完整目录与文件

技术种类

1.通过基于字典的目录文件扫描确定:使用python requests可以轻松完成任务
2.通过基于网络爬虫的技术确定:使用python scrapy完成

使用BP构建

python-scrapy

scrapy命令行帮助信息

输入scrapy,查看

创建工程命令

scrapy startproject 工程名

工程文件作用

1.items.py:设置要爬取的字段
2.pipelines.py:设置保存爬取内容
3.settings.py:设置文件,比如user-agent

初始化工程

1.scrapy startproject Tencent
2.items.py添加爬取字段:
a.scrapy.Filed()
b.calss TencentItem(scrapy.Item)

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html

import scrapy


class TencentItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    position_name = scrapy.Field()
    position_link = scrapy.Field()
    position_type = scrapy.Field()
    position_number = scrapy.Field()
    position_site = scrapy.Field()
    position_time = scrapy.Field()

创建基础爬虫类

1.scrapy genspider tencentPostion “tencent.com”
2.tencentPostion为爬虫名,tencent.com为爬虫作用范围
3.执行命令后会在spiders文件夹中创建一个tencentPostion.py的文件,在这里编写爬虫的内容

初始与结束条件

1.初始化url
https://hr.tencent.com/position.php?start=
2.每次偏移offset+10,初始化offset=0
3.爬虫初始化urls start_urls=[url+str(offset)]
4.结束条件
https://hr.tencent.com/position.php?start=2870#a
offset<2870
offset = offset+10
5.循环爬取
每次处理完一页的数据之后,重新发送下一页页面请求

yield scrapy.Request(self.url+str(self.offset),callback=self.parse)

初始化item对象

1.类中调用自身属性和方法
self.属性名
self.方法名
2.循环读取行

for each in response.xpath("//tr[@class='even']|//tr[@class='odd']")
#xpath中//标签名 获取全部标签
#[@class]获取类名为even或odd的行

3.循环读取列

#初始化item对象
item=TencentItem()
#获取职位名称
item['position_name']=each.xpath("./td[1]/a/text()").extract()[0]
#获取详情链接
item['positionlink']=each.xpath("./td[1]/a/@href").extract()[0]

保存爬取内容

1.打卡文件

在初始化__init__中self.filename=open("tencent.json","w")

2.保存数据到文件

text=json.dumps(dict(item),ensure_ascii=False)+",\n"
self.filename.write(text.encode("utf-8"))

3.关闭文件
在close_spider(self,spider)中 关闭文件self.filename.close()

设置配置文件

1.设置请求头
user-agent
accpet

2.设置item-pipelines

3.执行命令,爬取数据
scrapy crwal tencentPosition

4.bug修复
在tencentPosition中
在pipelines中

代码汇总

1.items.py

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html

import scrapy


class TencentItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    position_name = scrapy.Field()
    position_link = scrapy.Field()
    position_type = scrapy.Field()
    position_number = scrapy.Field()
    position_site = scrapy.Field()
    position_time = scrapy.Field()

2.tencentPosition.py

# -*- coding: utf-8 -*-
import scrapy
from Tencent.items import TencentItem

class TencentpositionSpider(scrapy.Spider):
    name = 'tencentPosition'
    allowed_domains = ['tencent.com']
    url='https://hr.tencent.com/position.php?start='
    offset=0
    start_urls = [url+str(offset)]

    def parse(self, response):
        #爬虫主要代码
        for line in response.xpath("//tr[@class='even'] | //tr[@class='odd']"):
            item = TencentItem()
            item['position_name'] = line.xpath("./td[1]/a/text()").extract()[0]
            item['position_link'] = line.xpath("./td[1]/a/@href").extract()[0]
            item['position_type'] = line.xpath("./td[2]/text()").extract()[0]
            item['position_number'] = line.xpath("./td[3]/text()").extract()[0]
            item['position_site'] = line.xpath("./td[4]/text()").extract()[0]
            item['position_time'] = line.xpath("./td[5]/text()").extract()[0]
            yield item
        
        if self.offset < 2870:
            self.offset = self.offset+10
            
        yield scrapy.Request(self.url+str(self.offset),callback=self.parse)
        

3.pipelines.py

# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html
import json

class TencentPipeline(object):
    def __init__(self):
        self.filename = open("tencent.json","w")
        
    def process_item(self, item, spider):
        text=json.dumps(dict(item),ensure_ascii=False)+",\n"
        self.filename.write(str(text))
        return item
    def close_spider(self,spider):
        self.filename.close()

4.settings.py

# -*- coding: utf-8 -*-

# Scrapy settings for Tencent project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://docs.scrapy.org/en/latest/topics/settings.html
#     https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://docs.scrapy.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'Tencent'

SPIDER_MODULES = ['Tencent.spiders']
NEWSPIDER_MODULE = 'Tencent.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'Tencent (+http://www.yourdomain.com)'

# Obey robots.txt rules
ROBOTSTXT_OBEY = True

# Configure maximum concurrent requests performed by Scrapy (default: 16)
#CONCURRENT_REQUESTS = 32

# Configure a delay for requests for the same website (default: 0)
# See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#DOWNLOAD_DELAY = 3
# The download delay setting will honor only one of:
#CONCURRENT_REQUESTS_PER_DOMAIN = 16
#CONCURRENT_REQUESTS_PER_IP = 16

# Disable cookies (enabled by default)
#COOKIES_ENABLED = False

# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False

# Override the default request headers:
DEFAULT_REQUEST_HEADERS = {
   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
   'Accept-Language': 'en',
   'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36',
}

# Enable or disable spider middlewares
# See https://docs.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
#    'Tencent.middlewares.TencentSpiderMiddleware': 543,
#}

# Enable or disable downloader middlewares
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
#DOWNLOADER_MIDDLEWARES = {
#    'Tencent.middlewares.TencentDownloaderMiddleware': 543,
#}

# Enable or disable extensions
# See https://docs.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}

# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
    'Tencent.pipelines.TencentPipeline': 300,
}

# Enable and configure the AutoThrottle extension (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/autothrottle.html
#AUTOTHROTTLE_ENABLED = True
# The initial download delay
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False

# Enable and configure HTTP caching (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

python与字典

工具原理

通过读取字典文件获取内容,拼接URL,执行GET http请求,获取响应状态码,根据状态码判断目录文件资源是否存在

工具思路

命令行工具参数获取
字典读取
多线程访问
状态码获得判断输出结果
结果分析

工具初始化

Banner信息函数

def banner(): 用于介绍工具与名称

使用方法信息函数

def usage():

使用方法:1.url 2.thread 3.dictionary

命令行参数的获得

模块介绍

1.sys
sys.argv获取python命令行执行的数据

2.getopt
python自带的解析命令行参数模块

参数获得

opts,args = getopt.getopt(sys.argv[1:],"u:t:d:")

根据使用方法,可知len(sys.argv)等于7才能执行。将参数获得的内容封装到start函数中

字典文件读取

python字典文件读取

with open(filename,mode) as f:
f.readlines()

多线程思路

一个线程读取固定数目的字典文件内容
制作多线程使用的字典列表 存储都是以列表格式

多线程访问

python多线程

threading.Thread(target=,args=())
start()

线程列表

读取字典列表中的内容
扫描函数 scan

密码暴破

需要一个足够大的字典

在线

针对在线服务的认证凭证进行合法用户枚举

离线

密文加密

Burpsuite破解

基于表单验证的破解和基于HTTP认证的破解

Python 网络爬虫进阶教学全指南 本次博客将深入探究 Python 网络爬虫的核心知识与实用技巧,引领大家从入门迈向精通 阅读详情

相关推荐

什么是网络爬虫

又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以根据指定的规则,从互联网上下载网页、图片、视频等内容,并抽取其中的有用信息进行处理。网络爬虫的工作流程包括获取网页源代码、解析网页内容、存储数据等步骤。根据其目的和工作方式的不同,网络爬虫可以分为多种类型。常见的网络爬虫包括通用爬虫、聚焦爬虫、增量式爬虫等。

2301_79903190的博客 2486

爬虫笔记_2、requests的使用方式与HTTP协议

上文中提到了爬虫的五个步骤,第1、2步骤对需求的分析和网站的寻找,那么这篇博文就来记录一下第三个步骤: 步骤三是:下载网站的返回内容 即:我们如何通过程序去获取网页的HTML等信息呢? 环境: anaconda pycharm import requests # 导入requests模块 url = 'https://www.baidu.com' # 假如网址是百度 #...

还没想好的博客 2044

Python 网络爬虫入门全知道

Python 网络爬虫入门全知道

安年的小小博客有大大的梦想 2742

python爬虫---关于http、url

python爬虫—关于http、url ·http协议:全称是HyperText Transfer Protocol 中文意思超文本传输协议,是一种发布和接受HTML页面地方法。服务器端口号是80端口。HTTPS协议:是HTTP协议地加密版本,在HTTP下加入了SSL层,服务器端口号是443端口。 https://baike.baidu.com/item/HTTP ·URL是Uniform Recourse Locator的简写,统一资源定位符。一个URL由以下几部分组成: Scheme://host:po

qq_45570991的博客 1765

Python-网络爬虫

网络爬虫(Web Spider)又称网络蜘蛛或网络机器人,是一段用来实现自动采集网站数据的程序。网络爬虫不仅能够为搜索引擎采集网络信息,而且还可以作为定向信息采集器,定向采集某些网站中的特定信息。对于定向信息的爬取,网络爬虫主要采取数据抓取、数据解析、数据入库的操作流程。(1)数据抓取:发送构造的HTTP请求,获得包含所需数据的HTTP响应;(2)数据解析:对HTTP响应的原始数据进行分析、清洗,以提取出所需要的数据;(3)数据入库:将数据进一步保存到数据库(或文本文件)中,用于构建知识库。

qq_42759120的博客 1758

Python 网络爬虫入门与实战

网络爬虫(Web Crawler)是自动访问网络并提取信息的程序。它可以模拟人类用户在浏览器中的行为,访问网页、抓取数据并存储到本地或数据库中。网络爬虫在信息检索、数据挖掘、搜索引擎等领域有广泛应用。Scrapy 是一个强大的爬虫框架,支持异步处理和数据存储。它适合大型爬虫项目,可以高效抓取和解析数据。yield item通过本文的学习,您应该对 Python 网络爬虫有了全面的了解。从基础的 Requests 库到高级的 Scrapy 框架,再到实战案例,涵盖了网络爬虫的方方面面。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 2213

app爬虫抓包不能抓到对应的http网络请求解决办法,以某团app为例

现在很多app数据通常都不走http接口,而是tcp或者自定义的协议,当然都逃离不了tcp/ip协议族。 对于一些大厂app而言,为了保证业务可靠性,当自定义协议或者使用tcp这种进行网络传输时如果出现问题,他们会准备一套降级方案,那就是自动切换到http接口进行数据的收发。 那么,关键点就来了,我们可以让他在tcp通讯时发生故障,然后就可以让app强制走http接口了。 如何触发故障?最简单的就是找到tcp通讯的服务端ip,然后防火墙禁用tcp通讯的ip即可,下面以美团app抓取http请求接口为例

玛卡玛卡 4419

Python网络爬虫技术详解文档

搜索引擎数据收集(Googlebot)价格监控与市场分析舆情监测与数据分析学术研究数据采集。

m0_56896669的博客 3818

python网络爬虫入门,urllib模块,爬取网页和图片,图片爬取正则表达式思路

一、urllib模块 1.urllib简介 在Python2版本中,有urilib和urlib2两个库可以用来发送request(请求)。而在Python3中,统一为urllib urllib中包括了四个模块 -urllib.request可以用来发送request获取request结果 -urllib.parse用来解析和处理url -urllib.error包含了urllib.re...

ck784101777的博客 2457

网络爬虫之必备知识

摘要:本文主要理清网络爬虫的概念,简要讲解爬虫的必备知识,分为python基础、字符编码、http头信息、http状态码、html基础、爬虫职业道德。内容浅显,主要理一理相关知识。一、网络爬虫的概念   网络爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 通俗的说,我们写爬虫的目的就是自动从不同的网页上提取海量的数据。以下是我之前爬取的部分数据

CaiNiaoWuZui的专栏 5859

[Python]网络爬虫总结

# [Python]网络爬虫总结 本文将对Python网络爬虫进行简要的总结,涵盖了我目前所使用的所有方法。 静态网页对于静态网页,就不多说了,太简单了。只要用requests库直接把html爬下来,然后用正则表达式匹配即可。但是到了目前互联网发展阶段,已经很少有静态网页了。如果你遇到要爬虫静态网页,那你一定是非常幸福了。动态网页动态网页是比较常见的爬虫目标,这里我给出一些比较常见的爬虫方法,仅

stary_yan的博客 1万+

1.认识网络爬虫

1.认识网络爬虫 网络爬虫 爬虫的合法性 HTTP协议 请求与响应(重点) 网络爬虫 爬虫的全名叫网络爬虫,简称爬虫。他还有其他的名字,比如网络机器人,网络蜘蛛等等。爬虫就好像一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。 你可以这样理解,每个爬虫都是你的分身。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。 你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信

weixin_50804299的博客 5万+

python解析html数据,获取到的链接是以/或 ./ 或 ../ 开头的相对链接,不是以http开头的,需要补全

python解析html数据,获取到的链接是以/或 ./ 或 ../ 开头的相对链接,不是以http开头的,需要补全

c1007857613的专栏 2198

网络爬虫有什么用?怎么爬?手把手教你爬网页(Python代码)

导读:本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫;另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方...

大数据 3万+

Python网络爬虫的设计与实现研究

摘要:随着互联网技术的快速发展,网络爬虫作为获取互联网信息的重要工具,其在数据分析、数据挖掘、自然语言处理等领域的应用越来越广泛。本文首先对网络爬虫的基本原理进行了介绍,然后详细阐述了基于Python的网络爬虫设计与实现过程,包括爬虫架构的选择、网页抓取、数据解析、数据存储等方面。URL管理器负责维护一个待爬取的URL队列,网页下载器负责从URL队列中取出URL并下载对应的网页内容,网页解析器负责对下载的网页内容进行解析和提取所需信息,数据输出器负责将提取的信息以指定格式输出。关键词:Python;

铭渊老黄 2561

避坑实录:用certificate-manager重置vCenter 6.7证书时遇到的三个致命陷阱

本文详细解析了使用certificate-manager重置vCenter 6.7证书时可能遇到的三大致命陷阱,包括进度卡在85%的服务启动僵局、脚本突然退出的静默杀手以及密码错误锁死的隐藏机制。通过实战验证的解决方案和高级恢复技巧,帮助系统管理员有效避免vCenter环境瘫痪,确保证书更新过程顺利进行。

g5h6i7j的博客 919

Python网络爬虫

网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。通俗来讲,网络爬虫就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

zgl040803的博客 2635

保姆级教程:在RK3588开发板上用MPP库实现H.264硬编码(附完整代码)

本文详细介绍了在RK3588开发板上使用MPP库实现H.264硬编码的全流程,包括环境准备、MPP库编译、编码器初始化与配置、数据输入与编码流程以及高级性能优化技巧。通过实战案例和完整代码,帮助开发者充分利用RK3588的VPU硬件加速能力,提升视频编码效率和质量。

weixin_28716769的博客 414

Python 网络爬虫教程

网络爬虫是一种自动化程序,它模拟人类用户访问网页,自动获取网页上的内容。这些数据可以是文本、图片、视频等。爬虫的核心任务是发送 HTTP 请求,获取网页响应并解析内容。

JH_joker的博客 2362

驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案

财哥在前段时间发布的《驱动钛丝(SMA)的应用(1)汽车腰托支撑按摩气阀模块》一文,引发了很多企业的拜访和交流。 目前很多厂家已经启动或正在进行相关研发,同时也遇到了诸如:钛丝选型、驱动位移、响应设计、温度控制、力量设计、点动滞后、铆接工艺、量化生产等问题。

weixin_39168671的博客 1241

SO_KEEPALIVE、TCP_KEEPIDLE、TCP_KEEPINTVL、保活包

是一个套接字选项,用于设置是否启用 keepalive 机制。在这段代码中没有涉及到选项的设置。当被设置为非零值时,表示启用 keepalive 机制。keepalive 是一种用于检测连接是否仍然有效的机制。通过定期发送一些特定的探测数据,可以检测到网络连接的异常中断或对端应用程序的崩溃退出。为了避免以上情况,可以启用 keepalive 机制,即使在无数据传输的情况下也定期发送探测数据。如果在一定时间内没有收到对端的响应,就认为连接已经失效,并进行相应的处理。要启用选项,需要使用函数。其中,fd。

m0_46376834的博客 4816

浅谈 Python 网络爬虫的那些事

在大数据、人工智能应用越来越普遍的今天,Python 可以说是当下世界上热门、应用广泛的编程语言之一,在人工智能、爬虫、数据分析、游戏、自动化运维等各个方面,无处不见其身影。随着大数据时代的来临,数据的收集与统计占据了重要地位,而数据的收集工作在很大程度上需要通过网络爬虫来爬取,所以网络爬虫技术变得十分重要。

黛琳ghz的博客,期待你的关注。 6824

OpenClaw进阶实战(二十三):微信公众号接入——被动回复、客服消息、素材管理

本文介绍了将OpenClaw接入微信公众号的完整方案,重点包含以下内容: 接入方案选型:对比官方插件、三方服务和自建中转三种方式,选择自建Node.js中转服务实现灵活控制 核心原理:通过中转服务器完成微信消息协议转换,处理5秒超时限制和异步回复机制 实战开发: 搭建Express中转服务 实现Token管理和消息处理 采用内存缓存对话历史 通过客服接口异步回复 官方插件方案:介绍2026年发布的ClawBot插件,支持文本/图片/文件收发 进阶功能:包括素材管理接口调用示例 该方案适用于需要深度定制公众号

PeterPan的博客 142
上一篇: 汇编
下一篇: hexo+github搭建博客后发布文章访问时显示404的一种情况
sRiddle
博客等级 码龄7年 528粉丝 63原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值