私はウェブサイトからデータを取り出すためのスクリプトを書いた。しかし数回後、私は要求すると403の禁止を示します。ウェブスクレイピングと403禁止:私のウェブスクレーパーはウェブサイトによってブロックされていますが、私は何を要求する必要がありますか?
この問題を解決するにはどうすればよいですか。
私のコードは以下の通りです:
import requests, bs4
import csv
links = []
with open('1-432.csv', 'rb') as urls:
reader = csv.reader(urls)
for i in reader:
links.append(i[0])
info = []
nbr = 1
for url in links:
# Problem is here.
sub = []
r = requests.get(url)
soup = bs4.BeautifulSoup(r.text, 'lxml')
start = soup.find('em')
forname = soup.find_all('b')
name = []
for b in forname:
name.append(b.text)
name = name[7]
sub.append(name.encode('utf-8'))
for b in start.find_next_siblings('b'):
if b.text in ('Category:', 'Website:', 'Email:', 'Phone'):
sub.append(b.next_sibling.strip().encode('utf-8'))
info.append(sub)
print('Page ' + str(nbr) + ' is saved')
with open('Canada_info_4.csv', 'wb') as myfile:
wr = csv.writer(myfile,quoting=csv.QUOTE_ALL)
for u in info:
wr.writerow(u)
nbr += 1
私はウェブサイトへのリクエストをするために何をすべきか。 URLの例はhttp://www.worldhospitaldirectory.com/dr-bhandare-hospital/info/43225
ありがとうございます。
ブロックされているとブロックされます。ほとんどのウェブサイトでは、掻き分けを淡々としています。あなたはおそらくその利用規約に違反しているでしょう – e4c5
私は本当にプログラミングの質問ではないので、話題としてこの質問を閉じるために投票しています – e4c5