我用vba编写了一些代码,从一个洪流站点中获取特定网页上的所有电影名称。但是,按下"F8“,我可以发现代码运行良好,并打印结果,直到它到达该页面的最后一个结果。一旦到达要解析的姓氏,程序就会崩溃。我做了几次,并遭受了同样的后果。如果vba不支持这个css选择器方法,那么我如何在最后一个方法之前收集结果呢?在执行之前,是否有任何引用可以添加到库或其他内容中?在这方面的任何帮助都将受到极大的感谢。
下面是我编写的代码:
Sub Torrent_data()
Dim http As New XMLHTTP60, html As New HTMLDocument
Dim movie_name As Object, movie As Object
With http
.Open "GET", "https://www.yify-torrent.org/search/1080p/", False
.send
html.body.innerHTML = .responseText
End With
Set movie_name = html.querySelectorAll("div.mv h3 a")
For Each movie In movie_name
x = x + 1: Cells(x, 1) = movie.innerText
Next movie
End Sub发布于 2017-08-21 04:36:22
看来querySelectorAll有个问题
无法在“监视”窗口中检查对象html.querySelectorAll(".mv h3 a")。
尝试这样做会导致excel或word崩溃(我都尝试过了)
尝试其他标记,结果相同
Sub Torrent_data()
Dim http As New XMLHTTP60, html As New HTMLDocument
Dim movie_name As Object, movie As Object
With http
.Open "GET", "https://www.yify-torrent.org/search/1080p/", False
.send
html.body.innerHTML = .responseText
End With
' Set movie_name = html.querySelectorAll("div.mv h3 a") ' querySelectorAll crashes VBA when trying to examine movie_name object
Set movie_name = html.getElementsByClassName("mv") ' HTMLElementCollection
For Each movie In movie_name
x = x + 1: Cells(x, 1) = movie.getElementsByTagName("a")(1).innerText
Next movie
' HTML block for each movie looks like this
' <div class="mv">
' <h3>
' <a href='/movie/55346/download-smoke-1995-1080p-mp4-yify-torrent.html' target="_blank" title="Smoke (1995) 1080p">Smoke (1995) 1080p</a>
' </h3>
' <div class="movie">
' <div class="movie-image">
' <a href="/movie/55346/download-smoke-1995-1080p-mp4-yify-torrent.html" target="_blank" title="Download Smoke (1995) 1080p">
' <span class="play"><span class="name">Smoke (1995) 1080p</span></span>
' <img src="//pic.yify-torrent.org/20170820/55346/smoke-1995-1080p-poster.jpg" alt="Smoke (1995) 1080p" />
' </a>
' </div>
' </div>
' <div class="mdif">
' <ul>
' <li><b>Genre:</b>Comedy</li><li><b>Quality:</b>1080p</li><li><b>Screen:</b>1920x1040</li><li><b>Size:</b>2.14G</li><li><b>Rating:</b>7.4/10</li><li><b>Peers:</b>2</li><li><b>Seeds:</b>0</li>
' </ul>
' <a href="/movie/55346/download-smoke-1995-1080p-mp4-yify-torrent.html" class="small button orange" target="_blank" title="Download Smoke (1995) 1080p YIFY Torrent">Download</a>
' </div>
' </div>
End Subhttps://stackoverflow.com/questions/45781861
复制相似问题