我正在尝试查找由于搜索而弹出的链接,但是代码表明我什么也没找到
import Foundation
class SearchViewModel: ObservableObject {
@Published var searchedMovies = [Movie]()
private var fetchedMovies = [MovieList]()
func fetchMovies(movie: String) {
WebService().searchForMovie(movie: movie) { movie in
if let movie = movie {
self.fetchedMovies.append(movie)
for movie in movie.movies {
self.searchedMovies.append(movie)
}
}
}
}
}
答案 0 :(得分:0)
您要查找的div是通过javascript而不是原始html加载的。 Beautifulsoup只能找到html本身中的div。获取此类内容的最佳方法是找到javascript从中加载内容的其中。为此,我建议您仅使用f12
打开开发人员工具,然后刷新页面并查找xhr
请求。就您而言,数据是从
https://wormbase.org/search/gene/R04B5.4a/1?inline=1
如果您在此页面上运行代码,则将获得结果。如果您需要从此站点进行其他查询,则可以将R04B5.4a
部分替换为其他查询。
编辑: 在浏览器(Chrome浏览器,Firefox,Internet Explorer等)中,转到要抓取的网页。在键盘上按f12键,您应该会看到开发人员工具。它应该有一个标签,其中包含元素,控制台等。
您要转到显示“网络”的标签。然后刷新页面。您应该会在网络标签中看到一堆请求。这些是您加载页面时发出的所有请求。这些请求具有“类型”。
XHR请求代表服务器和计算机之间发送的数据。查找类型为XHR的请求,其中一个或多个将具有您要查找的数据。
通常(取决于您的浏览器)如果双击每个请求,它将在一个新选项卡中打开并向您显示其中包含的内容。找到具有所需数据的请求后,您只需获取该请求的URL即可使用。
对于您来说,我上面的链接是XHR请求的链接,该请求检索搜索结果。