我正在尝试获取可能动态生成的HTML代码。我唯一想要的是获取下一页的HTML代码。如果你点击按钮,当然一切都很完美。但是,如果您检查此页面的href并将其复制粘贴到您的浏览器地址表单并提交,您将收到如下所示的文本:
{"paging":{"isLastPage":false},"pagination":{"firstUrl":"/sk/komponenty/aktivne-prvky/analogove-obvody/spustacie-obvody/c/cat-L3D_525255/showmore?q=*&filter_Buyable=1&filter_Category4=Sp%C3%BA%C5%A1%C5%A5acie+obvody&filter_Category3=Anal%C3%B3gov%C3%A9+obvody&useTechnicalView=true&pageSize=10&page=1","prevUrl":"/sk/komponenty/aktivne-prvky/analogove-obvody/spustacie-obvody/c/cat-L3D_525255/showmore?
当您尝试使用它的标头执行请求时,会发生同样的事情。
问题是,当我点击下一页按钮时,我想获得您获得的网页的HTML代码:http://www.distrelec.sk/sk/komponenty/aktivne-prvky/analogove-obvody/spustacie-obvody/c/cat-L3D_525255
你知道如何获取HTML代码吗?
编辑:我试图找到一个GET,它调用下一页并使用请求模块来模拟点击(包含所有请求标题),但我得到了相同的结果。没有HTML。答案 0 :(得分:1)
获取JSON可能有助于动态生成下一页。如果您只想查看下一页的html,只需右键单击并选择“检查元素”,然后在页面加载后在Google Chrome中选择。
但是如果您想要下一页的URL,则在JSON中引用URL。
答案 1 :(得分:1)
我无法生成JSON结果,但这对我使用BeautifulSoup起作用了。
import urllib2
from bs4 import BeautifulSoup
url = #that url
html = urllib2.urlopen(url)
soup = BeautifulSoup(html)
# this gives you the specific next link
next_link_tags = soup.find_all('a','btn btn-right js-page-link')
next_link_url = "http://www.distrelec.sk" + next_link_tags[0]['href']
html2 = BeautifulSoup(urllib2.urlopen(next_link_url))
print html2
答案 2 :(得分:0)