使用 = 传递的数据的地址,感觉append传递的同样也是数据的地址
当更改原数据时,左值同样会受到影响
例子:
import requests
from bs4 import BeautifulSoup
def dushupaiming(url):
res = requests.get(url).text
soup = BeautifulSoup(res, "lxml")
booklist = []
# dushulist = {} # 在这里定义,插入到列表中的数据使用的都是同一个地址
for dushu in soup.select(".doulist-item .mod"):
dushulist = {} # 每次插入都申请新的内存地址,每次地址都不同
dushulist["paiming"] = dushu.select(".pos")[0].text
dushulist["href"] = dushu.select(".post a")[0]["href"]
dushulist["title"] = dushu.select(".title a")[0].text.strip()
dushulist["score"] = dushu.select(".rating .rating_nums")[0].text
dushulist["zhuzhe"] = dushu.select(".abstract")[0].text.strip()
booklist.append(dushulist)
return booklist
url = "https://www.douban.com/doulist/1264675/?start={}&sort=seq&sub_type="
for n in range(0, 475, 25):
newurl = url.format(n)
for m in dushupaiming(newurl):
print(m)
不重复数据:
重复数据: