需要帮助以使代码通过网站循环

时间:2018-09-16 06:14:22

标签: python web-scraping beautifulsoup

如何获取此代码以遍历网站的所有430页并将其输出到文件中?

>>> import requests, bs4
>>> resp = requests.get('https://everythingrs.com/tools/osrs/itemlist')
>>> bs = bs4.BeautifulSoup(resp.content)
>>> [(tr.find('strong').text, tr.find('td', class_='alt1').text) for tr in bs.find_all('tr')[1:]]

1 个答案:

答案 0 :(得分:0)

在您要抓取的网站中,页面是用url +页面号标识的,因此要获取所有430个页面,只需要创建一个for循环即可遍历所有页面,即

codeAdapter.notifyDataSetChanged();

要将输出保存到文件中,可以使用for page_no in range(1,431): resp = requests.get('https://everythingrs.com/tools/osrs/itemlist' + str(page_no)) // All the rest of the code here

open(filename)

以所需的格式修改以上代码。您也可以使用with open(filename, 'wb') as f: for i in output_array: f.write(i[0]); f.write(i[1]);来提高下载速度。