一点一点的整理好了
先把今天学到的记下来
一个实例
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> a == b == c == d == e
True
另一个实例
字典的更新操作,若键一样,替换之
data.update({name:data_list})
摘自文章:https://blog.csdn.net/eacxzm/article/details/79894225
最后分享一段今天写的爬虫的代ma:
import requests
from bs4 import BeautifulSoup
import re
import time
def get_urls():
response=requests.get('http://www.pm25.in/')
#print(len(response.text))
soup=BeautifulSoup(response.text,'lxml')
urls=soup.find(attrs={'class':'all'})#先选择all标签
urls=re.compile('href="(.*?)"').findall(str(urls))#再选择所有的url
urls=['http://www.pm25.in/'+url for url in urls]#组织形式
return urls
def get_data(urls):
#定义一个字典来储存数据
data=dict()
for i in range(3):
response=requests.get(urls[i],timeout=4)
soup=BeautifulSoup(response.text,'lxml')
name=soup.find(attrs={'class':'city_name'}).h2.text#返回的是地区名
data_list=soup.find_all(attrs={'class':'value'})
#print(data_list)
data_list=re.compile('<div class="value">\n(.*?)</div>',re.S).findall(str(data_list))
data_list=[eve_data.replace(' ','') for eve_data in data_list]
data_list=[eve_data.replace('\n','') for eve_data in data_list][:-1]
data.update({name:data_list})
return data
if __name__ == '__main__':
urls=get_urls()
data=get_data(urls)
##################################作为字典练习,储存的话最好用二维列表直接转化为dataframe然后to_excel
列表里有字典
kkk = [{‘name’: libai}]
[item[key] for item in kkk for key in item]