首页 > 编程语言 >【网络爬虫程序】

【网络爬虫程序】

时间:2024-07-04 21:58:45浏览次数:3  
标签:url request 程序 爬虫 网络 content file path import


import urllib.request
import time
import random
import os

def fetch_webpage(url):
    # 设置User-Agent
    user_agent = 'Sogou web spider/4.0 (+http://www.sogou.com/docs/help/webmasters.htm#07)'
    
    # 创建请求对象,并设置User-Agent
    request = urllib.request.Request(url=url, headers={'User-Agent': user_agent})
    
    try:
        # 发送请求并接收响应
        response = urllib.request.urlopen(request)
        
        # 解码并返回页面内容
        page_content = response.read().decode('utf-8')
        
        return page_content
    except Exception as e:
        print(f"Error occurred: {e}")
        return None

# 目标网址
url = "http://www.123.com"

# D盘的文件保存路径
file_path = r"D:\web_data\output.txt"

# 确保文件所在的目录存在
os.makedirs(os.path.dirname(file_path), exist_ok=True)

# 访问次数和间隔
num_requests = 10
sleep_range = (3, 6)  # 每次请求之间的随机休眠时间范围(秒)

# 执行间歇式获取数据
for i in range(num_requests):
    print(f"Fetching page {i+1}...")
    content = fetch_webpage(url)
    
    if content is not None:
        # 将内容追加到文件
        with open(file_path, 'a', encoding='utf-8') as file:
            file.write(content)
            file.write('\n--- End of Page ---\n')
    
    # 模拟间歇时间,避免连续请求过于频繁
    time.sleep(random.uniform(*sleep_range))

print("Data fetching complete.")
 

标签:url,request,程序,爬虫,网络,content,file,path,import
From: https://blog.csdn.net/zsheng2008/article/details/140190780

相关文章

  • 基于LEACH路由协议的网络性能matlab仿真,包括数据量,能耗,存活节点
    1.程序功能描述       LEACH的原理在于它将传感器节点分为两类:簇头节点和普通节点。普通节点将数据发送给距离自己最近的簇头节点,然后簇头节点将收集到的数据融合后发送给基站。这种机制可以减少网络中节点的能耗,并且能够提高数据融合比例,减少传输数据量。本课题将分别对......
  • 【python爬虫实战】进阶天气虫虫(过程复盘 & 心得分享)
    程序设计过程里的一些心得:0.规模较大的程序,往往都是以更小的功能块搭建起来的。如此,为了提升总体程序的构建效率,笔者发现分“两步走”会比较高效:    A.遇到需要反复调试的功能块,可先在另一程序中逐一单独测试某一功能块(这有助于突出模块本身的细节问题)   ......
  • Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景在当今社会,随着人们对环境保护意识的增强以及科技的快速发展,智能化的垃圾分类系统成为了一个热门的研究方向。结合深度学习技术,尤其是先进的图像识......
  • python怎么样将一段程序无效掉
    1、python中可以用注释屏蔽一段语句,具体方法如下,首先打开一段python的示例程序:2、然后单行注释的方法是在语句前面加上#,程序运行后添加注释的地方的语句会被自动跳过,这里可以看到将打印变量a的语句添加注释就没有打印出结果:3、最后如果有一列连续的语句需要注释,可以不......
  • (一):小程序与服务器的链接
    首  原文写于18年5月,因不再想继续使用C站,现将主要文件迁移至博客园。文中涉及技术部分已相对过时,但依旧对初始web的小朋友具有一定参考价值,权且玩乐。环境  IDE:myeclipse,服务器容器Tomcat,服务端主要用servlet。创建servlet  小程序与服务器链接(前端和后端的交互)的基......
  • python爬虫3-多进程多线程协程
    多进程和多线程frommultiprocessingimportProcessimportthreadingdefprocess_worker():foriinrange(200):print(f"Processworker{i}")defthread_worker():foriinrange(200):print(f"Threadworker{i}")if__......
  • HarmonyOS开发实战系列:网络连接绑定到应用规范-Web组件
    1.网络类型简介移动设备一般都具备移动网络和无线WIFI的连接能力,有些还可以接入有线以太网,这些网络可以根据需要随时切换。鸿蒙APP可以自动适应上述的网络,一般来说,会优先使用WIFI或者有线以太网,移动网络因为要收费,不会首选使用。但是在某些特殊情形下,可能要求必须使用某一种......
  • C语言程序是怎么在计算机中运行起来的
    hello.c#include<stdio.h>intmain(){ printf("hello,world\n"); return0;}这段C语言程序的代码能被编程人员读懂,但是计算机系统读不懂。C语言、C++、java这些高级编程语言本质上还是人类用的语言而不是计算机用的语言。为了能在计算机上运行这个C语言程序,需......
  • python+flask计算机毕业设计的图书管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在数字化与信息化日益深入的今天,图书管理系统的开发与应用已成为图书馆管理工作中的重要一环。传统的图书管理方式,如手工登记、纸质借阅记......
  • python+flask计算机毕业设计二手图书零售系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息时代的到来,知识的传播与获取方式发生了深刻变革,图书作为文化传承和知识积累的重要载体,其数量与日俱增。然而,在传统图书市场饱和、......