如何使用urllib2从html中提取超链接的hrefs

时间:2014-10-27 00:04:10

标签: python pagination web-scraping urllib2

我正在使用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>

当我拉出内容时,'#'将被检索为字符而不是其底层链接。有什么想法吗?

1 个答案:

答案 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来简化代码。