gpt4 book ai didi

python - 从页面以及下一页获取 URL

转载 作者:行者123 更新时间:2023-12-01 06:56:08 28 4
gpt4 key购买 nike

我正在尝试从页面获取所有 url 链接。我正在使用此链接

https://www.horizont.net/suche/?OK=suchen&OK=suchen&i_sortfl=pubdate&i_sortd=desc&i_q=der

此链接基于显示不同文章的搜索查询。每页大约有9篇文章。所以我想从页面中获取所有 URL 链接作为列表。

我想尝试的第二步,当从页面中提取页面中的所有链接时,它会自动打开第二个页面并从那里获取所有链接。

enter image description here

所以,大约有 15194 个页面,所以我想从这些页面获取文章的所有超链接。

到目前为止,我正在尝试这样做:

from BeautifulSoup import BeautifulSoup
import urllib2
import re

def getLinks(url):
html_page = urllib2.urlopen(url)
soup = BeautifulSoup(html_page)
links = []

for link in soup.findAll('a', attrs={'href': re.compile("^http://")}):
links.append(link.get('href'))

return links

print( getLinks("https://www.horizont.net/suche/?OK=suchen&OK=suchen&i_sortfl=pubdate&i_sortd=desc&i_q=der") )

我现在面临的问题是,我从网站获取每个网址,但我只需要搜索结果以及搜索结果中的下一页。

最佳答案

可以使用你需要的链接的元素class属性来提取href:

for link in soup.findAll ('a', attrs = {'href': re.compile ("^ http: //")}, class _ = "ArticleTeaserSearchResultItem_link"):

如果您要浏览所有页面并收集文章的所有 url,我可以建议您更改链接本身中的 Page 值,直到链接有效:

i = 1
urls = []
while True:

url = f"https://www.horizont.net/suche/?OK=1&i_q=der&i_sortfl=pubdate&i_sortd=desc&currPage={i}"
try:
def getLinks(url):
html_page = urllib2.urlopen(url)
soup = BeautifulSoup(html_page)
links = []

for link in soup.findAll('a', attrs={'href': re.compile("^http://")}, class_="ArticleTeaserSearchResultItem_link"):
links.append(link.get('href'))

return links

urls.append(getLinks(url))

except:
break

i += 1

目前我没有机会调试我的代码,但我希望对您有所帮助。祝你好运!

关于python - 从页面以及下一页获取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58799329/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com