2017-02-26 55 views
-4

我打算構建一個腳本,用於從網站中抓取包含url中不同id的數據,所以我想循環使用它。Python中抓取數據的簡單腳本

例如,網址:http://demosite.com/posts/1 上述網址中的'1'的數量從1到2,00,000不等。所以我想運行一個python腳本,它將循環運行,並從這些數字1-2,00,000之間的網站中獲取數據。

我使用下面的代碼 -

import urllib2 
import re 
for i in xrange(1,200000): 
    req = urllib2.Request('http://demosite.com/posts/' + i, 
      headers={ 'User-Agent': 'Mozilla/5.0' }) 
    html = urllib2.urlopen(req).read() 

    print html 
+1

等都不是代碼寫作服務。你應該至少表現出最小的努力來解決這個問題。 – DeepSpace

+0

更新了我正在使用的代碼並面臨錯誤。 –

回答

0

iint'http://demosite.com/posts/'是一個字符串。您不能使用+連接int和一個字符串。無論是轉換i爲字符串(str(i)),或使用str.format

url = 'http://demosite.com/posts/{}'.format(i) 
req = urllib2.Request(url, headers={ 'User-Agent': 'Mozilla/5.0' }) 
+0

增加一次發送請求的數量並將輸出保存到txt文件的可能方法是什麼? –