使用requests获取网页源代码-python爬虫开发从入门到实践

网页打开方式有很多种,最常见的是get方式和post方式,在浏览器中输入网址的访问属于get方式,但是又有一些页面只能通过某个链接或按钮以后跳过来,不能通过浏览器输入网址访问,这种网页就是用了post方式。

一、get方式

在python中可以使用requests的get()方法获取网页源代码,格式为

import requests

源代码变量 = requests.get(‘网址,注意网址要以http://开头’)

源代码的bytes格式的源代码变量这个变量是无法显示中文的  =  源代码变量.content

源代码的字符串型变量 =  源代码的bytes格式的源代码变量这个变量是无法显示中文的.decode()

当然上面的后面三行可以简化为二行即:

import requests

网页源代码变量 = reques.get(‘网址’).content.decode()

注意最后的decode()的参数可以是utf-8或GBk或GB2312

爬虫举例

这里我们提供一个测试的网页https://exercise.kingname.info/exercise_requests_get.html

这个网页只有这么一句话,下面让我们用requets中的get方法来爬取这句话

代码如下

#导入库
import re
import requests


#爬取网页标题和内容
a = requests.get('https://exercise.kingname.info/exercise_requests_get.html').content.decode()

biaoti = re.search('title>(.*?)</title',a,re.S).group(1)
zhengwen = re.findall('<p>(.*?)</p',a,re.S)
zwpj = '\n'.join(zhengwen)


#输出爬取的内容
print(f'字典格式的标题{biaoti}')
print(f'字符串格式的\n {zwpj}')

代码解释

上面这个代码包括三部分,第一部分是导入库模块,首先要保证电脑里已经安装了这两个库,如果没有安装,请自己搜一下如何安装这两个库,一个叫re一个叫requets

第二部分是核心代码,先看第一行

a = requests.get('https://exercise.kingname.info/exercise_requests_get.html').content.decode()
这个代码用的是获取网页源代码的方法,格式如下
网页源代码变量 = requests.get(‘网址’).content.decode()

第二行,是用的正则表达式来爬取的网页标题,我之前文章有介绍正则表达式的,可以去看一下

biaoti = re.search('title>(.*?)</title',a,re.S).group(1)
zhengwen = re.findall('<p>(.*?)</p',a,re.S)
zwpj = '\n'.join(zhengwen)

需要说明的是,re的.search是指的爬取第一个获取到的符合正则表达式规则的内容,后面的.group(1)是指的输出获取到的内容,如果不加这个.group会返回很多很多内容,比如获取到的这个字符的长度,之类的东西,所有要加上.group(1)

.join()是把zhengwen爬取出来的两句文字,从集合里拿出来,\n是换行,

如果这时候

print(zhengwen)

print(zwpj)

会输出下面的结果:

第三部分是输出爬取到的内容

这里只说一个f吧,F是格式化字符串,f‘文字正常写,{变量}用中括号括起来’

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值