首页 > 其他分享 >爬虫ip如何加入到代码里实现自动化数据抓取

爬虫ip如何加入到代码里实现自动化数据抓取

时间:2023-10-17 11:04:59浏览次数:39  
标签:get ip 爬虫 data 抓取 proxy my response

以下是一个使用HTTP:Tiny和www.weibo.com的音频爬虫程序的示例。这个示例使用了https://www.duoip.cn/get_proxy来获取爬虫IP。请注意,这个示例可能需要根据你的实际需求进行调整。

爬虫ip如何加入到代码里实现自动化数据抓取_JSON

#!/usr/bin/perl

use strict;
use warnings;
use HTTP::Tiny;
use LWP::UserAgent;
use JSON;

my $ua = LWP::UserAgent->new();
$ua->timeout(30);

# 获取爬虫IP
my $proxy_ip = get_proxy();

# 设置代理
$ua->proxy('http', $proxy_ip);

# 目标网站的URL
my $target_url = 'http://www.weibo.com';

# 请求目标网站
my $response = $ua->get($target_url);

# 检查请求是否成功
if ($response->is_success) {
    # 解析JSON回复
    my $data = JSON->new->decode($response->content);

    # 处理音频数据
    my @audio_data = @{$data->{data}};
    foreach my $audio (@audio_data) {
        print "音频标题: " . $audio->{title} . "\n";
        print "音频链接: " . $audio->{url} . "\n";
        print "音频描述: " . $audio->{description} . "\n\n";
    }
} else {
    print "请求失败: " . $response->status_line . "\n";
}

sub get_proxy {
    # 使用HTTP::Tiny发送请求到https://www.duoip.cn/get_proxy
    my $response = $ua->get('https://www.duoip.cn/get_proxy');

    # 检查请求是否成功
    if ($response->is_success) {
        # 解析JSON回复
        my $data = JSON->new->decode($response->content);

        # 返回爬虫IP
        return $data->{ip};
    } else {
        print "获取爬虫IP失败: " . $response->status_line . "\n";
        return undef;
    }
}

这个程序首先获取一个爬虫IP地址,然后使用这个爬虫IP发送请求到www.weibo.com。接下来,程序解析JSON回复,提取音频数据,并输出音频标题、链接和描述。请注意,这个示例仅供参考,你可能需要根据实际需求进行调整。

标签:get,ip,爬虫,data,抓取,proxy,my,response
From: https://blog.51cto.com/u_13488918/7900795

相关文章

  • Python多进程之分享(multiprocessing包)
    threading和multiprocessing(可以阅读Python多线程与同步)multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程。该进程可以运行在Python程序内部编写的函数。该Process对象与Thread对象的用法相同,也有start......
  • 用友Fast by BIP助力公交企业降本增效,数智运营!
    城市公共交通是关系国计民生的社会公益事业,随着城市建设步伐的日益加快,城市交通的供需矛盾、公交企业的生存矛盾、运营环境的竞争矛盾日益突出。国家政策引导,外部压力与企业内驱,公交基础与核心技术成熟,公交企业的数智化转型迫在眉睫。一方面受公益性的特性制约和公交企业对政府惠民......
  • 城投行业融资迈向“筹融用管还评”卓越循环,用友Fast by BIP 很在行
    二十大报告指出,“要建设现代化产业体系,坚持把发展经济的着力点放在实体经济上,推进新型工业化”。在这个大方向指引下,城投企业的思维将从过去的注重基础设施建设转向注重产业,从注重资产转向注重现金流;一系列政策也在大力推进城投行业的“投融建管营”一体化发展建设,要求实现更高效、......
  • Javascript报错:Uncaught TypeError: $(...).slide is not a function
    检查网站的时候,发现网页出现一个报错,UncaughtTypeError:$(...).slideisnotafunction同时,平时没有问题的轮播图,也不轮播了。检查并解决步骤如下: 1.顺着错误提示点过去,发现就是slide函数无法运行。查看相关介绍,表示是jq文件进行了重复引用,且版本不同 如下图相关资料描......
  • 15.1 套接字通过域名取IP地址
    首先我们来实现一个DNS查询功能,该功能的目的是传入一个网站域名自动将该域名解析为对应的IP地址,该功能的实现依赖于gethostbyname函数,该函数将主机名作为参数,并返回一个指向hostent类型结构的指针,结构包含有关主机的信息。结构包含许多字段,其中最重要的是h_name和h_addr_list。h_n......
  • VSCode 小技巧 配置代码模版 vscode snippets
    第一步mac输入shift+command+p(windows输入ctrl+shift+p),输入snippets,点击如下图选项。第二步,选中新建全局代码片段文件。第三步,输入一个全局配置文件名,例如snippet.config第四步,进行配置{//Placeyour全局snippetshere.Eachsnippetisdefinedu......
  • iptables 正常用法
    #!/bin/baship1=${group_host1}ip2=${group_host2}ip3=${group_host3}ip4=${group_host4}ip5=${group_host5}iptables-F#清空所有的防火墙规则iptables-X#删除用户自定义的空链iptables-Z#清空计数iptables-AINPUT-ptcp--dport22-jACCEPTiptables-AIN......
  • ipykernel ipython
    ipykernelipykernel是一个用于在JupyterNotebook中运行Python代码的包,它可以将Python代码转化为可以在Python内核上运行的格式。 ipython IPython是什么? https://blog.csdn.net/jarodyv/article/details/128145753Python最有用的功能之一就是它的交互式解释器。交互......
  • USACO 2020.12 Platinum Spaceship
    洛谷传送门LOJ传送门考虑剥路径最大值dp,设\(f_{k,i,j}\)为\(i\toj\)中按的最大的按钮\(\lek\)的方案数。转移枚举按下最大值按钮的点\(w\),有:\[f_{k,i,j}=\sum\limits_{(u,w),(w,v)\inE}f_{k-1,i,u}f_{k-1,v,j}\]在外层枚举\(w\),设\(g_i\)......
  • 长江存储致态TiPro7000 SSD新固件升级体验:读写速度飙升 更稳了!
    一、前言:长江存储带来新版固件迎来三大升级提起长江存储长江存储及旗下致态品牌SSD,相信大家都会竖起大拇指,其亲民的价格、强劲的性能,将以往SSD高高在上的售价拉了下来,堪称国产顶流。近期,长江存储多款致态SSD都发布了新版固件(Firmware),而对于SSD固件来说,一般更新都会在性能优化、......