#pythonでのスクレイピング
初歩的な質問ですみません…。
inputで数値を取り、その数値に+1してURLを生成して順番にスクレイピングしたいです。
が…。。同じURLばかり取得してしまいます。。
凡ミスだとは理解しているのですがいっこうに解決せずやむを得ずご質問させて頂きました。
何卒宜しくお願い致します。。
python
1import urllib.request, urllib.error 2import csv 3from bs4 import BeautifulSoup 4from time import sleep 5 6if __name__ == '__main__': 7 N = input('PLEASE ENTER PAGENATIONS:') 8 pagenation = int(N) 9 url = input('PLEASE ENTER URL:')#https://www.superdelivery.com/p/do/dpsl/78344/ 10 BT = 2 11 12 for i in range(1,pagenation+1): #元for i in range(N) 13 14 sleep(BT)#アクセスが多くなりすぎないように時間を開ける 15 #pの値をfor文で変える 16 17 url_k = url + str(i).strip() 18 print(url_k) 19 20 html = urllib.request.urlopen(url_k).read() 21 soup = BeautifulSoup(html, 'lxml') 22 title = soup.findAll('div' , class_='item-name') 23 a_url = soup.findAll('div' , class_='item-name') 24 25 for f in a_url: 26 for link in f.findAll('a'): 27 28 all_link = 'https://www.superdelivery.com' + link.attrs['href'] 29 30 with open('sd.txt' , 'a') as f: 31 writer = csv.writer(f,lineterminator='\n') 32 writer.writerow([all_link]) 33
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/02 21:26