Python 使用BeautifulSoup获取特定的HREF
我正在尝试删除包含在的框中的所有链接。但是,我的模式不会返回任何内容。我做错了什么?如果我通常使用href=True查找“a”,我就不会得到我要查找的链接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
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