我正在使用urllib2来提取网页的html内容。我的计划是遍历页面底部提供的页码(采用分页)。但是,页面底部的每个页面列表的链接都是由href标记中的超链接提供的。例如,指向每个页码的相应网页的链接是与“#”符号相关联的链接(即右键单击“#”并在新选项卡中打开链接指向页面):
<li class="currentPage">3</li>
<li><a class = "_pageNo" href='#'>4</a></li>
<li><a class = "_pageNo" href='#'>5</a></li>
<li><a class = "_pageNo" href='#'>6</a></li>
当我拉出内容时,'#'将被检索为字符而不是其底层链接。有什么想法吗?
答案 0 :(得分:0)
检查您在评论中提到的页面,我发现当您点击链接时,POST
会被发送回服务器,通知接下来要查看的页面,因此,要获取特定页面,将需要这样做:
from urllib import urlencode
import urllib2
url ='http://online.wsj.com/search/term.html?KEYWORDS=alibaba'
data = urlencode({'page_no':3})
contents = urllib2.urlopen(url, data=data).read()
我还建议使用lib requests
来简化代码。