当网址以50的倍数变化时,如何抓取页面?

时间:2019-01-08 17:20:23

标签: python for-loop web-scraping

我正在尝试抓取一些数据。页面有多个,URL的变化是50的倍数,如下所示:

Control Object Up

这一直持续到950。

我对网络爬虫和数据科学不熟悉,并且一直在自学,所以不了解所有概念和可能性。我正在使用python 3.7

到目前为止,我尝试了两种不同的方法

我试图做这样的事情:

http://myurl=0

http://myurl=50

http://myurl=100

但是那没用。

我还尝试创建一个数字列表,然后像这样遍历该列表:

pages=[str(i) for i in range (0,20)]
for page in pages:
    my_url = 'http://myurl=' + (page*50)

但是那没有用。

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以通过多种方式执行相同操作。另一个这样的可能是:

my_url = 'http://myurl={}'
for link in [my_url.format(page) for page in range(0,950,50)]:
    print(link)

答案 1 :(得分:0)

您应该得到错误:TypeError: can only concatenate str (not "int") to str

那是因为您的变量page是一个整数,并且您试图连接到字符串

尝试

pages = list(range(0, 950, 50))
for page in pages:
    my_url = 'http://myurl=' + str(page)