requests爬取ip代理

本文介绍了如何确定爬取代理IP的需求,通过谷歌浏览器检查网络请求找到存储数据的URL,并利用requests库进行数据爬取。内容包括分析页面结构,获取数据URL以及爬取到的代理IP列表。

1、确定需求,找到URL

现在很多网站给我们显示的页面是通过两个两个网页来显示的,因此会有两个URL

一个是页面框架,一个是里面的数据,我们可以用谷歌浏览器进入页面

=》右击=》检查=》选择network =》ctrl + f搜索页面中我们需要的数据(95.0.66.86)=》点击资源包 =》选择headers =》Request URL就是存储数据的URL

2、进行数据的爬取

import requests
import os
import time

start = time.time()         # 程序开始时间
def check_ip(proxies_list):
    # 检测代理的可用性
    can_use = []
    for proxy in proxies_list:
        try:
            response = requests.get(url='https://www.baidu.com',proxies=proxy,timeout=2)  # 等待时间
            if response.status_code == 200:
                can_use.append(proxy)
                print('当前代理:%s,---检测通过---' % proxy)
        except:
            print('当前代理:%s响应超时,不合格'%proxy)
    return can_use

proxy_list = [] # 接收爬取到的代理ip

# 判断文件是否存在
if not os.path.exists('D:/studySpider/proxys'):
    # 创建文件
    os.mkdir('D:/studySpider/proxys')

url = 'http://proxylist.fatezero.org/proxy.list'    # 准备好url
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'}  # 准备好请求头

response = requests.get(url=url,headers=headers).text   # 请求

li1 = response.split('\n')
count = 0
for d in li1[1:-1]:
    count += 1
    dict1 = eval(d)     # 字符串转字典
    host = str(dict1['host'])   # 获取host
    port = str(dict1['port'])   # 获取port
    type = dict1['type']        # 获取type
    proxy_dict = {type: host + ':' + port}  # 拼接为代理IP
    proxy_list.append(proxy_dict)       # 追加到列表proxy_list
    print('爬取ip代理 {0} 成功,第 {1} 个'.format(proxy_dict,count))
print(proxy_list)       # 输出代理列表
can_use = check_ip(proxy_list)  # 调用ip检测可用性

with open('D:/studySpider/prox
使用Pythonrequests爬取中国知网(CNKI)的内容需要特别注意,因为知网通常有反爬机制并且限制了非注册用户的数据访问权限。以下是一个简单的步骤概述: 1. **安装requests库**:首先确保已经安装了`requests`库,如果没有,可以运行 `pip install requests`。 2. **模拟请求头**:知网可能会检查请求头以判断是否是合法的用户访问。你需要设置一些基本的User-Agent,例如浏览器版本,以及可能需要的Cookie,以尽可能地模拟正常浏览器访问。 ```python import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', # 可能需要的Cookie值,具体要看知网的要求 } ``` 3. **处理反爬机制**:知网可能会通过验证码、IP限制等方式阻止直接爬虫。如果遇到这种情况,可能需要使用代理IP、Selenium配合ChromeDriver动态渲染页面获取验证码,或者考虑使用专业的数据抓取工具如Scrapy。 4. **API访问**:若知网提供API服务,可以直接调用API获取数据。然而,大部分学术资源并不开放API,对于论文等详细信息,直接爬取网页内容可能更常见。 5. **遵守规定**:在爬取任何网站时,务必遵守相关法律法规和网站的Robots协议,尊重版权,不要进行大规模、频繁的爬取,以免触发封禁。 由于知网的具体反爬策略可能会改变,以上信息仅供参考,实际操作前应先了解最新的政策和技术限制。同时,很多敏感数据可能无法轻易获取到。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值