在网站上刮多页

时间:2017-09-13 20:00:36

标签: python python-3.x beautifulsoup

我正试图在这个网址上删除所有教练机构的列表: https://www.sulekha.com/entrance-exam-coaching/delhi

以下是我的Python代码:

import bs4
from urllib.request
import urlopen as uReq
from bs4
import BeautifulSoup as soup

my_url = 'https://www.sulekha.com/entrance-exam-coaching/delhi'

uClient = uReq(my_url)
page_html = uClient.read()
uClient.close() x

page_soup = soup(page_html, "lxml")


insti = page_soup.findAll("div", {"class": "list-title"})

filename = "entrance_institutes.csv"

f = open(filename, "w")
headers = "Institute \n"
f.write(headers)

for ins in insti:
    ins_name = ins.div.a["title"]

f.write(ins_name + "\n")

f.close()

此代码运行正常。附件是它生成的csv的图像。我应该如何一页一页地抓取所有列表呢?

由于

Output csv

1 个答案:

答案 0 :(得分:0)

我不是100%肯定你的意思。如果您正在询问如何修复代码中的错误,那么您需要将循环更改为:

for ins in insti:
    ins_name = ins.div.a["title"]
    f.write(ins_name + "\n")

因为你的代码是循环遍历所有内容并写入最后一个,因为写入不在循环中。

然而,如果你问如何获取该列表然后废弃那些那些更多参与,对于初学者你需要保存URL而不是标题但是我将把剩下的留给你,因为那种听起来像家庭作业。