2016-04-01 15 views
0

Kriket programları için bir site kazıyorum. Güzel çorba kullanıyorum. Burada diğer yıllar ve aylar yanı kazımak çalışıyorum Ocak 2016 yılında bu tüm demirbaşlar atıfta urlBeautifulSoup kullanarak kazıma URL'leri

www.ecb.c0.uk/stats/fixtures-results?m=1&y=2016 


olduğunu. Kodu kazığın bir parçası olarak değiştirebileceğim bir yol var mı? URL'de bir değişken yerleştirmek zorunda mıyım? Bir listeden bir döngü veya döngü oluşturmalı mıyım?

from bs4 import BeautifulSoup 
import requests 

html = requests.get("http://www.ecb.co.uk/stats/fixtures-results?m=1& y=2016").text 
soup = BeautifulSoup(html,'lxml') 

cevap

1
aylarca ikinci, yıllardır ilk iki döngüler kullanabilirsiniz

:

base_url = "http://www.ecb.co.uk/stats/fixtures-results?m={month}&y={year}" 

for year in range(2000, 2017): 
    for month in range(1, 13): 
     requests.get(base_url.format(month=month, year=year)) 

Ya da daha kısa bir değişken itertools ile:

for year, month in itertools.product(range(2000, 2017), range(1, 13)): 
    requests.get(base_url.format(month=month, year=year)) 
+0

Merhaba Mauro Her iki yöntem harika çok teşekkürler çalıştı bunun için. :) – moonshadow