百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[其它内容] 如何使用select库采集携程 [复制链接]
查看:157 | 回复:0

1477

主题

1656

帖子

9

积分

落伍者(一心一意)

Rank: 1

贡献
685
鲜花
0
注册时间
2016-6-22

落伍者落伍微信绑定落伍手机绑定

发表于 2023-11-10 15:15:42 | 显示全部楼层 |阅读模式 来自 中国江苏淮安
华科云商丑图.jpg
今天给大家带来一个select库编写的简单爬虫程序,主要是对携程的采集,代码中有一些制定的字符串比较难以理解,我有针对性的做了中文解释,一起来学习一下吧。

```rust

fn main() {

// 创建一个 TcpListener,监听指定的端口

let listener = TcpListener::bind("0.0.0.0:8000").unwrap();

// 创建一个无限循环,接收连接请求

while true {

// 接收一个连接请求

let (mut socket, addr) = listener.accept().unwrap();

// 创建一个读写缓冲区

let mut buffer = BufReader::new(socket);

let mut writer = BufWriter::new(socket);

// 从缓冲区读取数据,直到读取到空字符串

let mut data = String::new();

buffer.read_to_string(&mut data).unwrap();

// 如果读取到的数据为空字符串,说明连接已经关闭,跳出循环

if data.trim().is_empty() {

break;

}

// 在缓冲区中写入数据

writer.write_all(data.as_bytes()).unwrap();

// 关闭连接

socket.shutdown(0).unwrap();

}

}

```

这个程序使用了 Rust 的 TcpListener 类来创建一个指定的服务。每当有新的连接请求到来时,程序会创建一个新的 TcpStream 实例来与客户端建立连接,并使用 BufReader 类和 BufWriter 类来读取和写入数据。程序会一直运行,直到接收到一个关闭连接的请求。

请注意,这个程序只是一个简单的爬虫示例,并没有实现真正的视频爬取功能。如果要实现真正的视频爬取功能,可能需要使用更复杂的网络爬虫技术,例如使用网页解析库来解析网页内容,使用代理池来管理多个代理,等等。同时,也需要注意遵守网站的爬虫规则和法律法规,避免对网站造成过大的负载或影响用户体验。​​​​
企业专线拨号VPS动态IP派克斯ADSL本地拨号,联系QQ174629754
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-11-26 21:46 , Processed in 0.050978 second(s), 34 queries , Gzip On.

返回顶部