快速爬取网页,一顿乱抓。

爬虫流程:

①先由urllib的request打开Url得到网页html文档

②浏览器打开网页源代码分析元素节点

③通过Beautiful Soup或则正则表达式提取想要的数据

④存储数据到本地磁盘或数据库(抓取,分析,存储)

Urllib库是python中一个功能强大、用于操作URL,并在做爬虫的时候经常要用到的库。
要使用Urllib库爬取网页,首先要导入用到的对应模块。

  • 第一个模块 request,它是最基本的 HTTP 请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入 URL 还有额外的参数,就可以模拟实现这个过程了。
 import urllib.request

1-在导入模块后,我们需要使用urllib.request.urlopen打开并爬取一个网页,此时可以输入如下代码爬取百度首页(http://www.baidu.com),爬取后,讲爬取到的网页赋值给变量file:

file=urllib.request.urlopen("http://baidu.com")

2-此时,我们需要将对应的网页内容读取出来,可以使用file.read()读取全部内容,或者使用file.file.readline()读取一行的内容。

data=response.read()
dataline=response.readline()

3-可以看到,我们分别读取到了爬取的网页的全部内容和一行内容,并分别赋给了变量data,dataline。
随后,我们可以用print()输出爬取的内容

print(data.decode('utf-8'))

爬虫爬取的网页代码。
在这里插入图片描述

读取内容的方式
file.read()读取文件的全部内容,与readlines不同的是,read会把读取到的内容赋值给一个字符变量
file.readlines()读取文件的全部内容,与read不同的是,readlines会把读取到的内容赋给一个列表变量,若要读取全部内容,使用这个方式
file.readline()读取文件的一行内容
保存爬取的代码

思路:

  1. 首先,爬取一个网页并将爬取到的内容读取出来赋给一个变量。
  2. 在文件夹里面建立一个文件用以保存这个网页。
  3. 将1.中的变量写入该文件中。
  4. 关闭文件夹

方法一:

fhandle=open("D:/python教程/myweb/1.html","wb")
fhandle.write(data)
fhandle.close()

通过open()函数打开了该文件,并以"web"即二进制写入的方式打开。打开后将句柄赋给变量fhandle,然后使用writ()方法写入数据。

在这里插入图片描述
此时我们已经成功用程序自动地将百度首页的代码爬取到本地啦~就是没有图片
在这里插入图片描述

方法二使用urlretrieve()函数爬取网页

我们可以直接用urllib.request里面的urlretrieve()函数直接将对应的信息写进本地文件。

import urllib.request
filename=urllib.request.urlretrieve("https://baike.baidu.com/item/%E4%BC%A0%E9%97%BB%E4%B8%AD%E7%9A%84%E9%99%88%E8%8A%8A%E8%8A%8A/24224281?fr=aladdin",\
                                    filename="D:/python教程/myweb/2.html")

执行过后,我们就成功把《传闻中的陈芊芊》的百度百科数据保存到本地文件了。
在这里插入图片描述

一直想学一下怎么爬虫,在懒惰+没有方向一直拖。想着如果一直不行动的话,可能就一直都学不会。所以找了课本开始学习,这篇是上周就写好了,但是自己存着,感觉不发出来还是会助长自己的惰性。争取持续更新。今天也把陈芊芊看完啦哈哈哈哈
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值