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)
输出结果:









相关文章
|
3天前
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
110 66
|
2天前
|
数据采集 存储 JavaScript
构建你的第一个Python网络爬虫
【9月更文挑战第34天】在数字信息泛滥的时代,快速有效地获取和处理数据成为一项重要技能。本文将引导读者通过Python编写一个简易的网络爬虫,实现自动化地从网页上抓取数据。我们将一步步走过代码的编写过程,并探讨如何避免常见陷阱。无论你是编程新手还是想扩展你的技术工具箱,这篇文章都将为你提供有价值的指导。
35 18
|
6天前
|
数据采集 存储 XML
构建高效的Python爬虫系统
【9月更文挑战第30天】在数据驱动的时代,掌握如何快速高效地获取网络信息变得至关重要。本文将引导读者了解如何构建一个高效的Python爬虫系统,从基础概念出发,逐步深入到高级技巧和最佳实践。我们将探索如何使用Python的强大库如BeautifulSoup和Scrapy,以及如何应对反爬措施和提升爬取效率的策略。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在信息收集的海洋中航行得更远、更深。
20 6
|
5天前
|
数据采集 数据挖掘 数据处理
Python中实现简单爬虫并处理数据
【9月更文挑战第31天】本文将引导读者理解如何通过Python创建一个简单的网络爬虫,并展示如何处理爬取的数据。我们将讨论爬虫的基本原理、使用requests和BeautifulSoup库进行网页抓取的方法,以及如何使用pandas对数据进行清洗和分析。文章旨在为初学者提供一个易于理解的实践指南,帮助他们快速掌握网络数据抓取的基本技能。
16 3
|
9天前
|
数据采集 Python
天天基金数据的Python爬虫
天天基金数据的Python爬虫
26 3
|
9天前
|
数据采集 JSON 数据格式
Python:南京地铁每日客流数据的爬虫实现
Python:南京地铁每日客流数据的爬虫实现
21 1
|
9天前
|
数据采集 Python
Python:某市公交线路站点的爬虫实现
Python:某市公交线路站点的爬虫实现
11 1
|
9天前
|
数据采集 网络协议 调度
Python爬虫策略分析4
Python爬虫策略分析4
22 1
|
7天前
|
数据采集 Linux 网络安全
python 爬虫遇到的aiohttp证书错误解决办法
python 爬虫遇到的aiohttp证书错误解决办法
27 0
|
8天前
|
JSON 网络协议 数据格式
30天拿下Python之使用网络
30天拿下Python之使用网络
下一篇
无影云桌面