gpt4 book ai didi

python - 列出网站上的所有文件

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:08 24 4
gpt4 key购买 nike

我正在开发一个程序,该程序使用 xgoogle 在 Internet 上搜索某些内容,然后在结果网站中找到所有文件。我在查找网站中的所有文件时遇到问题。我找到了一个 question那很相似,但我无法让它工作。这是我一直在使用的代码。

from bs4 import BeautifulSoup
import requests
def find_files():
url = "http://www.python.org"
soup = BeautifulSoup(requests.get(url).text)
for a in soup.find('div', {'class': 'catlist'}).find_all('a'):
yield url + a['href']

当我调用它时代码没有运行。我在函数中放置了 print 语句,但没有任何反应。我应该怎么做才能解决它?此函数如何返回网站中所有文件的列表?

最佳答案

试试这个让你开始..

from bs4 import BeautifulSoup
import requests

def find_files():
url = "http://www.python.org"
soup = BeautifulSoup(requests.get(url).text)

hrefs = []

for a in soup.find_all('a'):
hrefs.append(a['href'])

return hrefs

list_of_links = find_files()

## show what you've found:
for link in list_of_links:
print link

正如您将看到的,您不能只将 url 添加到所有结果中,因为其中一些是针对其他站点的,因此某些结果 URL 将不存在...您应该对您获得的所有点击做出决定。

此外,请在运行此之前检查网站关于网页抓取的政策

如果您想以生成器的方式执行此操作,以下内容可能会有用:

from bs4 import BeautifulSoup
import requests

def find_files(url):

soup = BeautifulSoup(requests.get(url).text)

for a in soup.find_all('a'):
yield a['href']

for link in find_files("http://www.python.org"):
print link

注意 - 我已经移动了您的 url 以使此代码更易于重用。

关于python - 列出网站上的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20150184/

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