我正在使用BeautifulSoup框架在python中使用Web搜寻器。
我从目标页面获得了正确的信息。但是每页只有1个项目。
我的代码如下所示:
import csv
import time
import bs4 as bs
from urllib.request import Request, urlopen
for i in range(1, 5):
site = "XXURLXX".format(i)
hdr = {'User-Agent': 'Mozilla/5.0'}
req = Request(site, headers=hdr)
page = urlopen(req)
soup = bs.BeautifulSoup(page, 'html5lib')
data = []
for get_info in soup:
name_box = soup.find('h2', attrs={'class': 'post-title'})
name = name_box.text.strip()
url_box = soup.find('a', attrs={'class': 'post-excerpt-download'})
url = url_box.get('href')
data.append((name, url, site))
time.sleep(1)
print(data)
with open('stellarismods.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
for url in data:
writer.writerow([name, url, site])
我已经尝试过forloop
for name_box in soup.find('h2', attrs={'class': 'post-title'}):
name = name_box.text.strip()
for url_box in soup.find('a', attrs={'class': 'post-excerpt-download'}):
url = url_box.get('href')
但是我仍然从每一页中仅获得一项。
最佳答案
尝试find_all
函数。它将查找您要查找的所有元素。
关于python - Python BeautifulSoup每页仅获得一项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45708633/