Python3网络爬虫——(1)利用urllib进行简单的网页抓取

简介: 利用urllib进行简单的网页抓取urllib是Python提供的用于操作URL的模块l、快速使用urllib爬取网页# -*- coding: UTF-8 -*-from urllib import reque...
利用urllib进行简单的网页抓取

urllib是Python提供的用于操作URL的模块
l、快速使用urllib爬取网页
# -*- coding: UTF-8 -*-
from urllib import request
if __name__ == "__main__":
      file = request.urlopen("https://blog.csdn.net/asialee_bird")#使用request.urlopen()打开和读取url信息
      html = file.read() #读取文件的全部内容,read会把读取到的内容赋给一个字符串变量
      #html=file.readlines() #读取文件的全部内容,readlines会把读取到的内容赋给一个列表变量
      #html=file.readline()  #读取文件的一行内容
      html = html.decode("utf-8")  #decode()命令将网页的信息进行解码
      print(html)
2、获取网页的编码方式
# -*- coding: UTF-8 -*-
from urllib import request
import chardet               #通过第三方模块获得网页的编码方式(需要pip3安装)
if __name__ == "__main__":
    file = request.urlopen("https://blog.csdn.net/asialee_bird")
    html = file.read() 
    charset=chardet.detect(html)  #获取该网页的编码方式
    print(charset) 

结果:


3、将爬取到的网页以网页的形式保存到本地
方法一:
# -*- coding: UTF-8 -*-
from urllib import request
if __name__ == "__main__":
       file = request.urlopen("https://blog.csdn.net/asialee_bird")
       html = file.read() 
       file_html=open('test.html','wb')
       file_html.write(html)
       file_html.close()
结果:


方法二:
# -*- coding: UTF-8 -*-
from urllib import request
if __name__ == "__main__":    
   file=request.urlretrieve('https://blog.csdn.net/asialee_bird',filename='test2.html')
   request.urlcleanup()  #清除缓存信息

4、urlopen的url参数信息
# -*- coding: UTF-8 -*-
from urllib import request
if __name__ == "__main__":
    # url可以是一个字符串,也可以是一个Request对象
    req = request.Request("https://blog.csdn.net/asialee_bird")
    response = request.urlopen(req)
    get_url=response.geturl()   #geturl()返回的是一个url的字符串
    in_fo=response.info() #info()返回的是一些meta标记的元信息,包括一些服务器的信息
    get_code=response.getcode() #getcode()返回的是HTTP的状态码,如果返回200表示请求成功
    #分别对获取的信息进行打印
    print("geturl打印信息:%s"%get_url)
    print('**********************************************')
    print("info打印信息:%s"%in_fo)
    print('**********************************************')
    print("getcode打印信息:%s"%get_code)
输出结果:









相关文章
|
5月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
6月前
|
数据采集 Web App开发 自然语言处理
新闻热点一目了然:Python爬虫数据可视化
新闻热点一目了然:Python爬虫数据可视化
|
5月前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
5月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
6月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
898 19
|
5月前
|
数据采集 存储 JSON
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
|
6月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
7月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
457 18
|
5月前
|
数据采集 存储 JavaScript
解析Python爬虫中的Cookies和Session管理
Cookies与Session是Python爬虫中实现状态保持的核心。Cookies由服务器发送、客户端存储,用于标识用户;Session则通过唯一ID在服务端记录会话信息。二者协同实现登录模拟与数据持久化。

推荐镜像

更多