我正在尝试在python中创建一个模式。我需要拥有一组链接的所有页面(称为“subject_links”):ex。我有www.url / animal(www.url / animal / page / 1 ecc。)和www.url / plants(www.url / plants / page / 1 ecc)。我这样做了:
n = 1
next_page = subjects_links+'page/%d' % n+=1
但给我一个“无效的语法”错误。是不是可以一起使用%d和+ =?
我找到了一个使用while和解析beautifulsoup的解决方案:
while True:
next_page = soup_cat.find("a", class_="nextpostslink")
next_page_link = next_page.get('href')
print(next_page_link)
cat_list.append(next_page_link)
soup_cat = bs4(requests.get(next_page_link).text,'lxml')
这完全改变了这样做的方式,但至少它有效。
从python 3.8开始,您将能够使用赋值表达式。 n + = 1是赋值语句。
next_page = subjects_links+'page/%d' % (n := n+1)
n += 1
是一个augmented-assignment-statement,你试图用它作为expression。
以下工作:
n = 0
n += 1
print("page/%d" % n)
注意:我已修改了示例,因此它可以自行运行
您应该单独增加n,因为您要设置n的值
n+=1which it is basically
n = n +1. You could use n++ in other languages but I'm not sure that Python supports it.