python-3.x – 如何抓取分页页面?点击下一页时没有网址更改
发布时间:2020-12-20 13:10:15 所属栏目:Python 来源:网络整理
导读:我使用 python3.5和window10. 当我抓取一些页面时,我通常使用urlopen和’for’迭代来使用url更改.像下面的代码. from bs4 import BeautifulSoupimport urllibf = open('Slave.txt','w')for i in range(1,42): html = urllib.urlopen('http://xroads.virginia
我使用
python3.5和window10.
当我抓取一些页面时,我通常使用urlopen和’for’迭代来使用url更改.像下面的代码. from bs4 import BeautifulSoup import urllib f = open('Slave.txt','w') for i in range(1,42): html = urllib.urlopen('http://xroads.virginia.edu/~hyper/JACOBS/hjch'+str(i)+'.htm') soup = BeautifulSoup(html,"lxml") text = soup.getText() f.write(text.encode("utf-8")) f.close() 但是,我遇到了麻烦,因为网址没有变化,虽然我点击了下一页并且网页的竞争对手被更改了,就像图片一样.网址没有变化,没有模式. 网址中没有信号我可以抓住网站的变化. http://eungdapso.seoul.go.kr/Shr/Shr01/Shr01_lis.jsp 该网站在这里 <span class="number"><a href="javascript:;" class="on">1</a> <a href="javascript:commonPagingPost('2','10','Shr01_lis.jsp');">2</a> <a href="javascript:commonPagingPost('3','Shr01_lis.jsp');">3</a> <a href="javascript:commonPagingPost('4','Shr01_lis.jsp');">4</a> <a href="javascript:commonPagingPost('5','Shr01_lis.jsp');">5</a></span> 如何使用beutifulSoup4打开或抓取所有这些网站? 解决方法
你不能单独使用beautifulsoup,因为它不支持ajax.您需要使用类似
selenium,ghost.py或其他支持javascript的网络浏览器.
使用这些库,您将能够模拟这些链接上的单击,然后获取新加载的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |