【python爬虫】获取某一个网址下面抓取所有的a 超链接下面的内容

import requests as rq
from bs4 import BeautifulSoup as bs
import re

# rooturl是传的是我需要查询和抓取的一个网址,可以是html js 等
def gethtml(rooturl, encoding="utf-8"):
   #默认解码方式utf-8
   response = rq.get(rooturl)
   response.encoding = encoding
#  .text是返回网页的源代码
   html = response.text
#    print(html)
   return html #返回链接的html内容

# 然后将html 传给gethref()方法
def getherf(html):
    # 使用BeautifulSoup函数解析传入的html
    soup = bs(html, features="lxml")
#  解析后用soup.find_all("a")找所有的a标签
    allnode_of_a = soup.find_all("a")
# 遍历a里面的href
    result = [_.get("href") for _ in allnode_of_a]
# 输出result
    print(result)
    return result

request bs4  都需要进行安装 pip install request   pip install bs4

BeautifulSoup()函数返回的是一个解析过的对象,相当于把你的html文本做了处理;
调用这个解析过的对象的find_all()方法,即返回一个该html中 所有的a节点组成的列表;
再对表中每一个节点调用get()方法,获得该节点下"herf"标签(键)的所有值,也就是我们的要找“http://”打头的超链接了;

在前端html中 a 标签一般是这样体现的

html = gethtml('XXXX')

这里xxx指的是你爬取内容的网址(某个html 或者某个js)等文件都可以

最后爬出来我写的一个超链接了:

我的代码是参考是原博主的,他写的很详细,也解释的很清楚,建议大家看看原博主的文章

参考原文:

Python爬虫-获得某一链接下的所有超链接_pychram 找出页面中的所有链接元素_ywsdxxzj的博客-CSDN博客

你可能感兴趣的:(python,爬虫,开发语言)