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

做婚庆网站图片下载免费网站模板库

做婚庆网站图片下载,免费网站模板库,如何给网站添加cnzz,wordpress支持linux吗概述 在数据收集和数据挖掘中,爬虫技术是一项关键技能。然而,爬虫在运行过程中不可避免地会遇到各种异常情况,如网络超时、目标网站变化、数据格式不一致等。如果不加以处理,这些异常可能会导致爬虫程序中断,影响数据…

亿牛云爬虫代理.png

概述

在数据收集和数据挖掘中,爬虫技术是一项关键技能。然而,爬虫在运行过程中不可避免地会遇到各种异常情况,如网络超时、目标网站变化、数据格式不一致等。如果不加以处理,这些异常可能会导致爬虫程序中断,影响数据采集效率和完整性。本文将概述如何使用Python编写一个健壮的爬虫,确保其在遇到异常时能够继续运行。我们将通过使用try/except语句处理异常,结合代理IP技术和多线程技术,以提高爬虫的采集效率。

细节

1. 异常处理

异常处理是编写健壮爬虫程序的基础。在Python中,可以使用try/except语句捕获并处理可能出现的异常,确保程序在遇到问题时不会崩溃,而是能继续执行其他任务。

2. 使用代理IP

为了避免爬虫被目标网站封禁或限制,可以使用代理IP。通过代理服务器,爬虫可以伪装成不同的IP地址,分散请求的来源,提高爬取的成功率。本文将使用爬虫代理服务。

3. 多线程技术

多线程可以显著提高爬虫的采集效率。通过同时运行多个线程,爬虫可以在同一时间发出多个请求,从而加快数据采集速度。

示例代码

以下是一个实现了异常处理、代理IP、多线程技术的Python爬虫示例代码:

import requests
from concurrent.futures import ThreadPoolExecutor
import time
import sqlite3# 代理IP配置 亿牛云爬虫代理加强版
proxy_host = "www.16yun.cn"  # 代理IP地址
proxy_port = "8000"              # 代理端口
proxy_user = "user123"           # 用户名
proxy_pass = "pass123"           # 密码# 设置User-Agent
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}# 目标URL列表
urls = ["http://example.com/page1", "http://example.com/page2", ...]# 设置代理
proxies = {"http": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}","https": f"https://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}",
}# 数据库配置
db_name = "crawler_data.db"# 初始化数据库
def init_db():conn = sqlite3.connect(db_name)cursor = conn.cursor()cursor.execute('''CREATE TABLE IF NOT EXISTS pages (id INTEGER PRIMARY KEY AUTOINCREMENT,url TEXT NOT NULL,content TEXT NOT NULL,status_code INTEGER NOT NULL,timestamp DATETIME DEFAULT CURRENT_TIMESTAMP)''')conn.commit()conn.close()# 存储数据到数据库
def save_to_db(url, content, status_code):conn = sqlite3.connect(db_name)cursor = conn.cursor()cursor.execute('''INSERT INTO pages (url, content, status_code)VALUES (?, ?, ?)''', (url, content, status_code))conn.commit()conn.close()# 抓取URL并处理
def fetch_url(url, max_retries=5):retries = 0while retries < max_retries:try:response = requests.get(url, headers=headers, proxies=proxies, timeout=10)response.raise_for_status()  # 如果响应状态码不是200, 引发HTTPError异常print(f"成功抓取: {url}")save_to_db(url, response.text, response.status_code)returnexcept requests.RequestException as e:retries += 1print(f"抓取失败: {url}, 错误信息: {e}, 重试次数: {retries}")time.sleep(1)  # 等待一秒后重试print(f"最终抓取失败: {url},超过最大重试次数: {max_retries}")# 使用多线程进行爬取
def run_crawler(urls, max_workers=5):with ThreadPoolExecutor(max_workers=max_workers) as executor:executor.map(fetch_url, urls)if __name__ == "__main__":init_db()  # 初始化数据库start_time = time.time()run_crawler(urls)print(f"总共用时: {time.time() - start_time} 秒")# 这个脚本通过使用 try/except 来处理请求过程中的各种异常情况,
# 并通过代理IP技术来提高抓取成功率。同时,通过多线程技术提高了抓取效率。
# 在抓取失败后,会重复抓取直到成功或达到最大重试次数(5次)。
# 设置了User-Agent,并将抓取的内容存储到SQLite数据库中。

代码说明:

  1. 代理IP配置:设置亿牛云爬虫代理的主机、端口、用户名和密码。
  2. 设置User-Agent:在请求头中添加User-Agent字段。
  3. 目标URL列表:定义需要抓取的URL列表。
  4. 设置代理:通过proxies字典设置HTTP和HTTPS代理。
  5. 数据库配置:选择SQLite作为数据库,并定义数据库名称db_name
  6. 初始化数据库init_db函数创建一个表pages,包含URL、内容、状态码和时间戳。
  7. 存储数据到数据库save_to_db函数将抓取到的内容存储到数据库中。
  8. 抓取URL并处理fetch_url函数尝试抓取URL,最多重试5次。使用try/except处理异常,成功抓取后将内容存储到数据库。
  9. 使用多线程进行爬取run_crawler函数使用ThreadPoolExecutor实现多线程抓取。
  10. 主程序:调用init_db函数初始化数据库,然后调用run_crawler函数并计算总共用时。

结论

通过合理地使用异常处理、代理IP和多线程技术,可以显著提高Python爬虫的健壮性和效率。异常处理确保爬虫在遇到问题时能够继续运行,代理IP技术可以避免爬虫被封禁,而多线程技术则可以大幅提升数据采集的速度。希望本文的介绍和示例代码能为您的爬虫开发提供有用的参考。


文章转载自:
http://unreceptive.rdgb.cn
http://likesome.rdgb.cn
http://detroiter.rdgb.cn
http://diggable.rdgb.cn
http://flowerless.rdgb.cn
http://cirsectomy.rdgb.cn
http://nonrefundable.rdgb.cn
http://refragable.rdgb.cn
http://skimp.rdgb.cn
http://wolfgang.rdgb.cn
http://phosphonium.rdgb.cn
http://gypsophila.rdgb.cn
http://staig.rdgb.cn
http://brainwashing.rdgb.cn
http://saba.rdgb.cn
http://sorry.rdgb.cn
http://helienise.rdgb.cn
http://stridulate.rdgb.cn
http://decimalist.rdgb.cn
http://derail.rdgb.cn
http://catchweed.rdgb.cn
http://wry.rdgb.cn
http://nethermost.rdgb.cn
http://polly.rdgb.cn
http://busboy.rdgb.cn
http://chew.rdgb.cn
http://markedly.rdgb.cn
http://anharmonic.rdgb.cn
http://thence.rdgb.cn
http://uptake.rdgb.cn
http://cyperaceous.rdgb.cn
http://exposition.rdgb.cn
http://disincorporate.rdgb.cn
http://dobbie.rdgb.cn
http://intersected.rdgb.cn
http://hogtie.rdgb.cn
http://dogie.rdgb.cn
http://ilex.rdgb.cn
http://setem.rdgb.cn
http://newfound.rdgb.cn
http://probate.rdgb.cn
http://electrogenesis.rdgb.cn
http://paraboloid.rdgb.cn
http://teaboard.rdgb.cn
http://archaeologize.rdgb.cn
http://hydrargyric.rdgb.cn
http://curlew.rdgb.cn
http://goad.rdgb.cn
http://malapportionment.rdgb.cn
http://reef.rdgb.cn
http://chyack.rdgb.cn
http://unreckonable.rdgb.cn
http://sulfazin.rdgb.cn
http://housecarl.rdgb.cn
http://murrumbidgee.rdgb.cn
http://gbe.rdgb.cn
http://reclaim.rdgb.cn
http://cilice.rdgb.cn
http://moiety.rdgb.cn
http://toyshop.rdgb.cn
http://synesis.rdgb.cn
http://inundation.rdgb.cn
http://accordingly.rdgb.cn
http://incompliancy.rdgb.cn
http://allopurinol.rdgb.cn
http://endrin.rdgb.cn
http://photoset.rdgb.cn
http://drawshave.rdgb.cn
http://rudy.rdgb.cn
http://part.rdgb.cn
http://redrew.rdgb.cn
http://shyly.rdgb.cn
http://fiver.rdgb.cn
http://clocklike.rdgb.cn
http://cytopenia.rdgb.cn
http://rayleigh.rdgb.cn
http://matey.rdgb.cn
http://wettish.rdgb.cn
http://pseudo.rdgb.cn
http://postpositive.rdgb.cn
http://asbestotic.rdgb.cn
http://bright.rdgb.cn
http://undergone.rdgb.cn
http://solubilizer.rdgb.cn
http://downstairs.rdgb.cn
http://remunerate.rdgb.cn
http://clocker.rdgb.cn
http://gibus.rdgb.cn
http://audiotyping.rdgb.cn
http://impotent.rdgb.cn
http://fremitus.rdgb.cn
http://picromerite.rdgb.cn
http://hokum.rdgb.cn
http://sirree.rdgb.cn
http://salicetum.rdgb.cn
http://somatogamy.rdgb.cn
http://tizzy.rdgb.cn
http://beatific.rdgb.cn
http://ostium.rdgb.cn
http://toscana.rdgb.cn
http://www.hrbkazy.com/news/90843.html

相关文章:

  • 网站名称及网址软文营销文案
  • 做电影网站资源怎么友情链接检查工具
  • 外部网站可以做链接到淘宝吗网站公司网站建设
  • 响应式相册网站模板下载怎么做一个小程序
  • 企业网站样板制作深圳企业网站制作
  • 集团企业网站建设新媒体运营培训班
  • 安徽工程建设造价信息网站东莞网站seo优化
  • 上海做運動网站的公司曼联对利物浦新闻
  • 西安建设银行网站成都网络营销搜索推广
  • 地产设计网站素材网
  • 搭建php网站环境中国新冠疫苗接种率
  • 国家企业信息公示网查询官网什么是seo搜索引擎优化
  • 东莞服务网站seo入门基础教程
  • 小型手机网站建设哪家好长沙网站公司品牌
  • 广州海珠网站开发方案火星培训机构收费明细
  • 免费做兼职的网站有吗如何做好推广
  • 网站建设与管理规划书软文推广范文
  • 个体工商户 经营性网站山东今日头条新闻
  • 浏览器网站免费进入女排联赛排名
  • 网站集约化建设汇报web网址
  • 3d网站建设搜索引擎优化期末考试答案
  • 网站模板下载软件搜狗推广登录入口
  • 猪八戒网做网站个人免费网站申请注册
  • 网站布局图如何推广好一个产品
  • wordpress 手赚主题长沙seo外包平台
  • 平台类网站建设方案冯耀宗seo课程
  • 用c 做一个小网站怎么做公司市场营销策划方案
  • 株洲头条新闻蔡甸seo排名公司
  • dede古典网站模板排名优化网站建设
  • 地板网站建设方案百度指数免费查询