【发布时间】:2013-12-07 15:32:26
【问题描述】:
我正在开发一个程序,该程序使用xgoogle 在互联网上搜索某些内容,然后在结果的网站中找到所有文件。我无法找到网站中的所有文件。我找到了一个类似的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']
当我调用它时,代码没有运行。我已将打印语句放入函数中,但没有任何反应。 我应该怎么做才能修复它?这个函数如何返回网站中所有文件的列表?
【问题讨论】:
-
嗨,“网站中的文件”是什么意思?您指的是页面上的链接吗?
-
我指的是页面的文件系统。例如, find_files("python.org") 的结果将是 python.org/doc 以及 python.org/about 以及站点文件系统中的所有其他目录和文件。
-
这些都不是“文件”或“目录”。它们是链接。
-
好的,所以您想要获取
<a>标签的“href”属性列表? -
你真的循环超过
find_files()吗?试试for result in find_files(): print result。这是一个生成器函数,在您对其进行迭代之前它不会做任何事情。
标签: python beautifulsoup python-requests