python爬虫urllib文档_python爬虫实战:urllib库入门

最近三月份沉迷于股票操作,基友打球又催的慌

结果!!!!

股票下海干活,KPI低成蛇皮,打铁打成科比。然后正好最近也被安排去做数据源有关的工作(就是爬虫),那就还是服从命令,好好搬砖吧,正好日常更一下学习博客。

先总结了一下:

scrapy,newspaper一类的框架和库肯定是要了解的;

urllib库,多线程等也是必备的;

爬虫类型:通用网络爬虫(全网爬虫,性能要求高)

聚焦网络爬虫(特定信息,特定人群服务)

增量式爬虫 (爬取更新的页面,新的信息)

深层网络爬虫(简而言之,提交表单的深层页面 构成:url列表,LVS列表,爬行控制器等)也是一些纲领性的内容,一定要有个底。

那就开个坑,从urllib库开始和大家一起学习!

1.快速使用urllib库爬取网页

urllib是python提供操作URL的模块,我们在爬取网页的时候,经常需要用到这个库。

-先导入urllib.request

import urllib.request

-创建变量file,将爬取的网页赋给变量file(别问,问就是上虎扑步行街)

file = urllib.request.urlopen("https://bbs.hupu.com/bxj")

-用file.read()读取全部内容,file.readline()读取一行内容,储存到变量data中

data = file.read()

dataline = file.readline()

重点:file.read()读取全部内容=》赋值到字符串变量

file.readlines()读取全部内容=》赋值到列表变量,若要读取全部内容,推荐使用这种方式

file.readline()读取文件一行内容

print(data),print(dataline)自己查看就好囖

(篇幅有限,输出的结果如下,都是一些类似于html标签节点)

2.将爬取网页的内容储存到本地

-以写入的方式打开一个本地文件,命名为html为后缀的格式

使用open()函数打开文件,并且以“wb”二进制写data

fhandle = open("D:/repfile/1.html","wb")

-将data变量写入该文件

fhandle.write(data)

-关闭该文件

fhandle.close()

保存结果如下,可以看到有1html网页文件:

另一种保存方法,即使用urlretrieve()函数将对应信息写入本地文件:

例:将知乎首页的html文件写入到本地(上图2)

filename = urllib.request.urlretrieve("https://www.zhihu.com/",filename="D:/repfile/2.html")

3.urllib中常用函数汇总:

-清除urlretrieve执行过程中的缓存

urllib.request.urlcleanup()

-返回当前环境有关信息:

file.info()

-获取状态码和源网页

file.getcode()

file.geturl()

ok,返回200响应正确;源网址为虎扑步行街,也没有问题。

-对url地址进行编码,解码

(因为url标准中只允许一部分ASCⅡ的存在,如汉字以及“:”,“&”等字符就是不符合标准的,所以需要编码)

编码:

urllib.request.quote("https://bbs.hupu.com/bxj"

同理,可以进行解码,返回原网址

urllib.request.unquote("https%3A//bbs.hupu.com/bxj")

今天就到这里啦,明天聊一聊url出现异常时如何处理的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值