Python爬虫 | urllib和正则表达式

本篇文章的源代码可以在后台回复爬虫来获取。

从今天开始,我们要开始学习Python爬虫来爬取网站上的数据。

首先,我们要知道什么是爬虫,爬虫又是怎么工作的。

爬虫又叫数据挖掘、网络机器人等,是用来帮助人们在网络上收集信息的。它可以让你非常快速的获取一些数据并整理。也就是说,它可以自动在网络上寻找你想要的信息并返回给你。

那么,爬虫是怎么工作的呢?

爬虫主要是以分析网页的源代码来获取信息。比如这段HTML网页代码:

<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>

使用爬虫,很容易就可以分析出它会在页面上显示Hello World。(当然,分析的其实是你而不是爬虫)

好了,了解了这些,我们开始吧。

首先我们要新建一个文件夹来储存我们写的代码。我们叫做小爬虫。

双击进到文件夹里面,右键Open Folder as Pycharm Project来在PyCharm中打开这个文件夹。

在目录中新建一个文件夹,叫做version1.0,里面放我们第一个爬虫代码。

在version1.0中新建一个名为Main的Python文件。

在里面首先导入Python的urllib库中的request文件。

首先我们要有一个网址来打开。我们找一个反爬机制弱的网站。

我们以百度的主页为例。(https://www.baidu.com/)

使用urllib库中的request文件中的urlopen函数来获取源代码。

输出一下。

嗯?这不是我们想要的内容啊?我们想要的是源代码啊?

原来,我们需要继续用decode函数和read函数才可以获得源代码。

尝试一下。

使用UTF-8解码。

我们发现,百度主页有反爬虫机制,我们只爬取到了一部分内容。

换一个网站。

我们使用百度贴吧。

https://tieba.baidu.com/

我的天哪,这怎么看啊?

其实这些内容都只是JavaScript的变量而已,划到最前面。

找了一个HTML代码整理工具整理了一下。

同样可以回复爬虫来获取整理工具的网址。

打开整理完的代码。

没有了CSS的支持,感觉像一堆乱码。

问题是,我们怎么样在一堆代码中找出有用的代码呢?

我们可以使用正则表达式。

假设我们要获取网页的标题,它用标签<title></title>括起来。我们需要知道这中间写的内容。

首先导入正则表达式,就是re。

首先定义一个变量,用于储存正则表达式的语句。

正则表达式中,你不知道的部分可以用.*?来表示。我们不知道<title></title>内的内容,于是写作.*?。

使用re模块的findall来在源代码中寻找<title></title>。

我们将urlopen函数的返回值赋给变量response。

输出一下findall的返回值。

如果不想要外面的<title></title>,可以将.*?用括号括起来。

好的,今天关于urllib的使用以及正则表达式的使用就结束了。想要源代码记得回复爬虫啊。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
爬虫(urllib)是Python 2.7中用于获取互联网上的数据的重要工具之一。它是Python标准库中内置的模块之一,用于发送HTTP请求,从网页中提取数据和处理网页内容。 使用urllib进行爬虫可以分为以下几个步骤: 1. 引入urllib模块:在代码开头使用 `import urllib` 或者 `import urllib.request` 来引入所需的模块。 2. 发送HTTP请求:通过使用 `urlopen()` 函数来发送HTTP请求获取网页的内容。可以传入URL作为参数,如 `urllib.urlopen('http://www.example.com')`。 3. 获取网页内容:通过调用`read()`函数来读取网页的内容,将其存储在变量中。例如, `response = urllib.urlopen('http://www.example.com')`;`html = response.read()`。 4. 处理网页内容:对于获取到的网页内容,可以使用字符编码工具对其进行解码,并对其进行解析和处理。例如,`html = html.decode('utf-8')`。 5. 提取数据:根据需求,使用正则表达式、BeautifulSoup等工具从网页内容中提取特定的数据。可以根据标签、属性、文本内容等进行定位和提取。 6. 数据处理和存储:对提取到的数据进行处理,例如清洗、分析、保存等操作。 总之,Python 2.7中的urllib模块是一个强大的爬虫工具,它可以用于发送HTTP请求,获取网页内容,并对其进行处理和提取数据。在使用爬虫时,需要注意合法性、法律性和道德性问题,并遵循网站的使用条款和隐私政策。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值