Python 使用BeautifulSoup获取特定的HREF

Python 使用BeautifulSoup获取特定的HREF,python,html,web-scraping,beautifulsoup,python-requests,Python,Html,Web Scraping,Beautifulsoup,Python Requests,我正在尝试删除包含在的框中的所有链接。但是,我的模式不会返回任何内容。我做错了什么?如果我通常使用href=True查找“a”,我就不会得到我要查找的链接 import requests from bs4 import BeautifulSoup url = 'https://www.nationalevacaturebank.nl/vacature/zoeken?query=&location=&distance=city&page=1&limit=100&a

我正在尝试删除包含在的框中的所有链接。但是,我的模式不会返回任何内容。我做错了什么?如果我通常使用href=True查找“a”,我就不会得到我要查找的链接

import requests
from bs4 import BeautifulSoup

url = 'https://www.nationalevacaturebank.nl/vacature/zoeken?query=&location=&distance=city&page=1&limit=100&sort=relevance&filters%5BcareerLevel%5D%5B%5D=Starter&filters%5BeducationLevel%5D%5B%5D=MBO'
page = requests.get(url)  
soup = BeautifulSoup(page.content, 'lxml')

ahrefs = soup.find_all('a', {'class': "article-link" , 'href': True})
for a in ahrefs:
    print(a.text)

这是一个从外部Json API动态加载其内容的网站。api位于此处:需要设置cookie。以下内容将格式化要提取的链接:

import requests

r = requests.get(
    'https://www.nationalevacaturebank.nl/vacature/zoeken.json',
    params = {
        'query': '',
        'location': '',
        'distance': 'city',
        'page': '1,110',
        'limit': 100,
        'sort': 'date',
        'filters[careerLevel][]': 'Starter',
        'filters[educationLevel][]': 'MBO'
    },
    headers = {
        'Cookie': 'policy=accepted'
    }
)

links = [
    "/vacature/{}/reisspecialist".format(t["id"])
    for t in r.json()['result']['jobs']
]

print(links)

Json结果还将为您提供此页面中嵌入的所有卡片元数据

您希望选择什么
True
不是“超引用”属性的有效值。还要注意的是,
href
是link的强制属性(没有
@href
链接只是一个字符串),所以只有当它有
href
属性时才需要选择link(如果你的意思是这样的话)@Andersson即使我省略了href(因为字符串也可以),我也不会得到任何东西。我想在块中的所有网址。Xpath是
/*[@id=“search results container”]/div/div[1]/div[10]/article/job/a
和CSS选择器
#search results container>div>div.search-items.ng-scope>div:nth child(2)>article>job>a
(不知道该信息是否有用)您不能在这里使用BeautifulSoup(动态内容)…但是你可以解析这个json:@t.m.adam为什么不呢?我想刮几页,所以我不想一直做JSON。正如我说的,内容是动态的,所以你不能通过请求和BequtifulSoup获得它。您可以使用Selenium,但即使这样,您也不必使用BeautifulSoup,因为Selenium有自己的选择器。您如何使用此解决方案浏览所有页面?这只给出了100个结果back@Lunalight尝试使用page&limit参数,例如page=1 limit=100,然后page=2 limit=100