初学者都能学会的Python基础网页抓爬万能代码(仅限无反爬网站)

这篇博客介绍了如何使用Python的基础爬虫库requests和BeautifulSoup来抓取网页文本。首先,通过requests.get获取网页源码,然后使用BeautifulSoup解析并定位到特定标记,如class='similar-text'的段落标签<p>,从而提取所需内容。通过这个过程,初学者可以理解网页抓爬的基本步骤。
摘要由CSDN通过智能技术生成

今天我要和大家分享一个比较基础、简单的抓爬网页文本内容的代码。

实现这个功能非常简单,他主要就是基于一个最最基础的python爬虫包——requests。

抓爬普通网页我们只需要把它分成几步就可以完成:

首先,抓爬获取源码是首要。我们可以在需要抓爬的网站里敲击F12查看网页源码,如下图:

在这里,我就以刚刚这个网站为例,网址:世界名猫品种大全 

抓爬网页源代码如下:

import requests
page=requests.get('http://www.360doc.com/content/19/0113/16/276037_808591294.shtml')
print(page.text)

通过这段代码,我们可以看到网页的全部代码,而我们需要的文本内容也就藏在这些代码之中:

自此,我们思维导图的第一部分就算完成了。

接下来,我们需要读懂这些代码是什么意思。这里我们需要引进一些新的词语:我们在源码中会看到这样的格式<div class="xxx"  "猫咪是·······" </div>这样的格式。这里的<div我们把它称之为标记名,class(也可为其他的)=“xxx”我们称之为标记属性。这两点内容也就是我们抓爬定位文本的重要要素。

第二步就是要定位到文本了,通过观察代码我们不难发现,该网站许多文本开头标记都为“p”,而class标记属性为class=similar-text

定位到文本就可以开始我们接下来的代码了:

import requests #导入requests包
from bs4 import BeautifulSoup  #导入BS4

req = requests.get(url="http://www.360doc.com/content/19/0113/16/276037_808591294.shtml")  #抓爬网站
req.encoding = "utf-8" #解码(如果不进行解码很大概率会出现乱码)
html=req.text  #用text将乱码去除
soup = BeautifulSoup(req.text,features="html.parser")  #获取内容
x = soup.find_all("p",class_="similar-text") #抓取相关标记的内容
for y in x:  #如果想要抓取全部符合属性的文本就需要加入循环
    dd = y.text.strip()  #text.strip可以将标记删除干净
    print(dd) #打印内容

 通过这个代码就可以抓取文章里面的文本了。

总结一下:抓爬的关键因素在于找标记,找到后通过BS4包来抓取就行了。

如果学会的话就点个赞吧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值