beautifulsoupを使用してCraigslistからデータPIDと価格を取得しようとしています。CLallsites.txtファイルを提供する別のコードを作成しました。このコードでは、txtファイルからこれらの各サイトを取得し、最初の10ページのすべてのエントリのPIDを取得しようとしています。私のコードは次のとおりです。
from bs4 import BeautifulSoup
from urllib2 import urlopen
readfile = open("CLallsites.txt")
product = "mcy"
while 1:
u = ""
count = 0
line = readfile.readline()
commaposition = line.find(',')
site = line[0:commaposition]
location = line[commaposition+1:]
site_filename = location + '.txt'
f = open(site_filename, "a")
while (count < 10):
sitenow = site + "\\" + product + "\\" + str(u)
html = urlopen(str(sitenow))
soup = BeautifulSoup(html)
postings = soup('p',{"class":"row"})
for post in postings:
y = post['data-pid']
print y
count = count +1
index = count*100
u = "index" + str(index) + ".html"
if not line:
break
pass
私のCLallsites.txtは次のようになります。
craiglistのサイト、場所(Stackoverflowではcragslistリンクを使用した投稿が許可されていないため、テキストを表示できません。それが役立つ場合は、テキストファイルを添付してみてください。)
コードを実行すると、次のエラーが発生します。
トレースバック(最後の最後の呼び出し):
ファイル"reading.py"、16行目、html = urlopen(str(sitenow))
ファイル"/usr/lib/python2.7/urllib2.py"、行126、urlopen return _opener.open(url、data、timeout)
File "/usr/lib/python2.7/urllib2.py", line 400, in open response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 418, in _open '_open', req)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open raise URLError(err)
urllib2.URLError:
Any ideas about what I am doing wrong?