爬虫通过python的request,re,Beautifuisoup包进行菜鸟教程页面数据的爬取

关于用request,结合Beautifulsuop进行页面数据的爬取。

最近在学习爬虫的过程中,学习到了Beautifulsuop的使用,这个包非常强大,如果你对前端的页面不是很熟悉,没关系他可以帮你找出页面中想要的标签,话不多说了上代码。

下面介绍的是爬取:菜鸟教程python3教程 的代码:

下面展示一些 内联代码片

import requests,re
from bs4 import BeautifulSoup

def get_html():
    url='https://www.runoob.com/python3/python3-tutorial.html'
    html_data=requests.get(url)
    html_data.encoding='utf-8'
    html=BeautifulSoup(html_data.text,"html.parser")#将页面解释成对象
    # print(html)
    for a in html.find_all('a',href=re.compile('^/python3/python3-')):
        link_list='https://www.runoob.com/'+ a.get('href')
        yield link_list
    for b in html.find_all('a',href=re.compile('^/python3/python')):
        link_list1='https://www.runoob.com/'+ b.get('href')
        yield link_list1

这里使用BeautifulSoup的时候大家可能会一个问题,下面的代码里面不知道怎么填写,

html=BeautifulSoup(html_data.text,"?")

我们可以先不加上去,运行代码,在调试窗口找报红的提示:
在这里插入图片描述
上面的这个函数只是获取到页面点击的每个路由而已。
在这里插入图片描述
我们还需要再加一个函数,进行路由下面每个详细页面数据的获取:

def get_link_html(link_html):  # 获取详细页面
    a = 0
    for i in link_html:
        html = requests.get(i)
        html.encoding = 'utf-8'
        html = BeautifulSoup(html.text, "html.parser")

        header = html.find('div', id='leftcolumn').find_all('a')  # 找出所以页面的标题
        print("当前打印的标题:%s" % (header[a].text))

        content = html.find('div', id='content').find_all('p')  # 找出页面的内容展示
        print("内容简介:%s" % (content[0].text))
        a += 1
        if a >= len(header):
            break

url_html = get_html()
get_link_html(url_html)

下面就是代码运行展示:
在这里插入图片描述
这里使用了Beautifulsoup里面的find()、find_all(),能够准确的找到页面中标签的内容,可以说是非常强大的,我们可以通过查找自己想要的内容进行输出,从而获取页面的数据,也可以将输出的内容保存下来,这一步没有弄,下次再跟大家分享啦。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值