使用python和Beautiful Soup迭代网站的页面

时间:2016-05-09 20:09:09

标签: python loops web-scraping iteration

有没有办法遍历页面的格式为

的档案

'http://base_url/page=#' - 其中#是第2页的页码?

理想情况下,我想在'base_url'

之后的每个连续页面上部署我的刮刀

是python中的函数或for循环,其中base_url将迭代通过:

page = i in range(nth)
base_url ='http://base_url/page={}'

e.g。 http://www.businessinsider.com/?page=3http://www.businessinsider.com/

1 个答案:

答案 0 :(得分:2)

您可以像这样请求每个页面:

# python 2
from urllib2 import urlopen
# python 3
from urllib.request import urlopen

base_url = "http://example.com/"

# request page 1 through 10
n = 10
for i in range(1, n+1):
    if (i == 1):
        # handle first page
        response = urlopen(base_url)
    response = urlopen(base_url + "?page=%d" % i)

    data = response.read()
    # handle data here

编辑:urlopen()返回HTTPResponseaddinfourl对象(取决于您的Python版本) - 您需要在其上调用.read()以获取数据字符串。 (我上面也更新了我的示例代码)。