当前位置: 首页 > news >正文

做卖图片的网站能赚钱吗科技与生活

做卖图片的网站能赚钱吗,科技与生活,品牌网络市场环境调研报告,帝国网站建设前言 对于做数据抓取的技术员来说,如何稳定高效的爬取数据ip库池起到决定性作用,对于爬虫ip池的维护,可以从以下几个方面入手: 目录 一、验证爬虫ip的可用性二、更新爬虫ip池三、维护爬虫ip的质量四、监控爬虫ip的使用情况 一、验…

前言

对于做数据抓取的技术员来说,如何稳定高效的爬取数据ip库池起到决定性作用,对于爬虫ip池的维护,可以从以下几个方面入手:

目录

  • 一、验证爬虫ip的可用性
    • 二、更新爬虫ip池
      • 三、维护爬虫ip的质量
        • 四、监控爬虫ip的使用情况

一、验证爬虫ip的可用性

可以通过requests库向目标网站发送请求,判断爬虫ip是否能够成功返回响应。如果返回成功,则说明爬虫ip可用,否则说明爬虫ip已失效。可以在代码中设置超时时间,避免长时间等待无响应的爬虫ip。

import requests
def check_proxy(proxy):try:response = requests.get(url, proxies=proxy, timeout=3)if response.status_code == 200:return Trueexcept:passreturn False

二、更新爬虫ip池

可以通过定期爬取爬虫ip网站或者购买付费爬虫ip服务来获取新的爬虫ip。可以使用requests库向爬虫ip网站发送请求,获取HTML页面,并使用BeautifulSoup库解析HTML页面,从而获取爬虫ip信息。通过一定的筛选规则,可以将新获取的爬虫ip加入到自有库池中。

import requests
from bs4 import BeautifulSoup
def get_proxies():url = 'http://jshk.com.cn/'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'}response = requests.get(url, headers=headers)soup = BeautifulSoup(response.text, 'html.parser')table = soup.find('table', {'id': 'ip_list'})tr_list = table.find_all('tr')proxies = []for tr in tr_list[1:]:td_list = tr.find_all('td')ip = td_list[1].textport = td_list[2].textprotocol = td_list[5].text.lower()proxy = '{}://{}:{}'.format(protocol, ip, port)proxies.append(proxy)return proxies

三、维护爬虫ip的质量

可以通过一些指标来衡量爬虫ip的质量,比如连接速度、响应时间、访问成功率等。可以定时对爬虫ip进行评估,筛选出质量较好的IP,并从爬虫ip池中删除质量较差的IP。

import requests
from multiprocessing import Pool
from functools import partial
def check_proxy_quality(proxy):try:response = requests.get(url, proxies=proxy, timeout=3)if response.status_code == 200:return True, response.elapsed.total_seconds()except:passreturn False, Nonedef evaluate_proxies(proxies):pool = Pool(processes=8)results = pool.map(partial(check_proxy_quality), proxies)pool.close()pool.join()quality_proxies = []for proxy, result in zip(proxies, results):is_valid, response_time = resultif is_valid:quality_proxies.append((proxy, response_time))return quality_proxies

四、监控爬虫ip的使用情况

对于监控爬虫ip的使用情况,一种比较简单的方法是记录每个爬虫ip的使用次数和成功率,以便及时发现哪些爬虫ip不再可用或者质量较差。

可以使用Python内置的shelve模块,将爬虫ip的使用情况保存在一个本地文件中。shelve模块可以提供类似字典的数据存储方式,方便快捷地读取和写入数据。

import shelve
class ProxyManager:def __init__(self, filename='proxies.db'):self.filename = filenameself.proxies = shelve.open(filename, writeback=True)if not self.proxies.get('used_proxies'):self.proxies['used_proxies'] = {}def mark_as_used(self, proxy):if proxy in self.proxies:self.proxies[proxy]['used_times'] += 1self.proxies[proxy]['success_rate'] = self.proxies[proxy]['success_times'] / self.proxies[proxy]['used_times']else:self.proxies[proxy] = {'used_times': 1, 'success_times': 0, 'success_rate': 0}self.proxies['used_proxies'][proxy] = Truedef mark_as_success(self, proxy):if proxy in self.proxies:self.proxies[proxy]['success_times'] += 1self.proxies[proxy]['success_rate'] = self.proxies[proxy]['success_times'] / self.proxies[proxy]['used_times']else:self.proxies[proxy] = {'used_times': 1, 'success_times': 1, 'success_rate': 1}self.proxies['used_proxies'][proxy] = Truedef is_used(self, proxy):return self.proxies['used_proxies'].get(proxy)def close(self):self.proxies.close()

在使用爬虫ip进行网络请求时,可以先检查该爬虫ip是否已被使用过。如果该爬虫ip已被使用过,则不再使用该爬虫ip。如果该爬虫ip未被使用过,则使用该爬虫ip进行网络请求,并在请求成功或失败后,更新该爬虫ip的使用情况。

def get_page(url, proxy_manager):for i in range(3):proxy = get_proxy(proxy_manager)if proxy:try:response = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=3)if response.status_code == 200:proxy_manager.mark_as_success(proxy)return response.textexcept:passproxy_manager.mark_as_used(proxy)return None
def get_proxy(proxy_manager):proxies = list(proxy_manager.proxies.keys())for proxy in proxies:if not proxy_manager.is_used(proxy):return proxyreturn None

需要注意的是,shelve模块的写入操作可能比较耗时,如果爬虫ip池较大,可以考虑每隔一段时间将爬虫ip使用情况保存在本地文件中,以提高性能。同时,如果爬虫ip池中存在较多已失效的爬虫ip,证明这个池子的IP可用率已经极低了,还是会更建议大家伙使用优质厂商提供的爬虫ip。

正常情况下,很多人会说随着经济下行,能有使用的就已经不错了,还谈什么自行车,且不谈免费的爬虫ip的连通性,实际上只要选对爬虫ip,采购的成本也会在我们的承受范围内的。

http://www.yayakq.cn/news/117622/

相关文章:

  • 做休闲会所网站制作wordpress出售功能插件
  • 购物网站二级店铺mvc怎么编辑网站源码
  • 申请企业资助建设网站网站模板 国外
  • 北京市住房建设官网站山西泽庆建设公司官网
  • 怎么自己做购物网站房产网址
  • 网站建设需求分析的实施北京网站设计公司hlh成都柚米科技15
  • 网站设计软件河南的网站建设公司
  • wordpress 留言墙插件seo竞争对手分析
  • 个人网站设计论文模板四川建设网有限责任公司是国企吗
  • 建一个类似淘宝的网站需要多少钱虚拟主机能建设网站吗
  • 中国建设监理网站企业网站建设哪家优惠
  • vip影视建设网站官网核心关键词和长尾关键词举例
  • 网站建设费的账务处理wordpress mysql 密码重置
  • 申请好域名后怎么建设网站创意设计网页制作教程
  • 一个公司网站开发多少钱做网站能自己找服务器吗
  • 网站链接建设及引流营销1网站建设的目标是什么意思
  • 网站备案号信息修改wordpress哪个版本 最快
  • 拖拽式网站建设费用江苏五星建设网站
  • 统计局门户网站建设背景想做电商运营怎么入手
  • 做网站和软件哪个挣钱wordpress如何上传网页
  • 商务网站设计制作潮州南桥市场中国建设银行网站
  • 宁波高端定制网站建设做兼职什么网站好
  • 网站权重等级介绍一个地方旅游网站怎么做
  • 网页设计与制作教程第四版课后答案seo顾问是什么职业
  • 网站建设怎么自学网站建设基本内容
  • 绍兴模板建站代理seo咨询
  • 作风建设方面的网站保险公司官方网站
  • 广西建设厅网站是什么wordpress根据分类文章清单
  • 网站开发word文档云南 房地产网站建设
  • 网站导航固定深度网网站建设