data = {
'title':soup.title.text,
'price':soup.select('.price')[0].text,
'area' :list(soup.select('.c_25d')[0].stripped_strings) if soup.find_all('span','c_25d') else None,
'date' :soup.select('.time')[0].text,
'cate' :'个人' if who_sells == 0 else '商家',
# 'views':get_views_from(url)
}
解释1:
代码中soup.select('。c_25d')[0] .stripped_strings表示取得class ='c_25d'标签下所有子标签的文本,如:
<li class="c_25d">
<span>上海</span>
<span>徐汇区</span>
</li>
结果为'上海徐汇'
解释二:
代码中如果who_sells == 0为真,则取'个人',为假则取其他后面的值即'商家'。
wb_data = requests.get(url,headers=headers)
if wb_data.status_code == 404:
pass
else:
代码中 wb_data.status_code == 404 表示如果请求返回码是404就跳过,否则执行else的内容
list_url = []
for i in qiushibaike.find():
list_url.append(i['url'])
index = list(set(list_url))
print(index)
去除【qiushibaike】数据表中url值的重复项,index为去除后的列表