我想用BeautifulSoup在一个网站上搜刮20页。每个页面大约有30个条目,每个条目都有8个特性,我想检索这些特性并将它们作为元组附加到名为res
的列表中。你知道吗
现在,下面的代码应该从20页中检索所有项目及其特性,并将它们存储到res
,但出于某种原因,它似乎只检索第一页的项目和特性。你知道吗
感谢您的帮助。你知道吗
for i in range(30):
r = requests.get('https://www.olx.ba/pretraga?trazilica=+golf+2&kategorija=18&stranica='+ str(i))
soup = BeautifulSoup(r.text, 'lxml')
all_items = soup.select('div#rezultatipretrage div.listitem.artikal.obicniArtikal.imaHover-disabled.i.index')
for item in all_items:
naziv = item.find('p', class_='na').text
link = item.a['href']
lokacija = item.find('div', class_='lokacijadiv').text.strip()
godiste = item.find('span', class_='desnopolje').text
gorivo = item.find_all('p', class_='polje')[1].find('span', class_='desnopolje').text
if item.find('div', class_='cijena').span.text == 'PO DOGOVORU':
cijena = 'PO DOGOVORU'
else:
cijena = item.find('div', class_='cijena').span.text[:-2].strip()
cijena = int(cijena.replace('.',''))
stanje = item.find('div', class_='stanje k').text.strip()
datum = item.find('div', class_='kada').text
res.append((naziv, link, lokacija, godiste, gorivo, cijena, stanje, datum))
你只需要用
listitem
类选择所有<div>
,就可以从页面中获得所有的项目,而不仅仅是特色车。你知道吗我对您的代码进行了一些更改和检查,以成功地刮取所有30页(我将
"-"
作为某些字段的默认值,因此请检查您的结果是否正确):这将打印30页中的所有信息:
相关问题 更多 >
编程相关推荐