2022.12.13 17:24:55
缩进式,强类型,面向对象,包管理器,脚本语言,这都是Python。
是一种脚本式[[编程语言]]。
Python源自C语言,其语法十分简洁,自带强大的几种数据结构:列表,集合,元组,对于新手非常友好。
# filename: wordcnt.py
f = open("a.txt", "r")
text = f.read()
words = f.split()
print("Word count: " + len(words)) # 输出总词数
print([word for i in words if word == word[::-1]]) # 输出所有正反相同的单词这是一个Python的示例,在同一目录准备好一份名为a.txt的英文文件,用idle打开并按F5执行,涉及流程控制,生成器表达式,切片,变量,文件IO。但是Python远不止如此,语法是基础,真正的核心与灵魂在于众多的优秀库——无论是官方的还是社区的。
Python使用pip进行包管理。例如,我要安装requests库,在终端键入
pip install requests回车,即可安装。使用也很简单,用import导入即可:
import requests
host = 'm.weibo.cn'
base_url = 'https://%s/api/container/getIndex?' % host
user_agent = 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Mobile Safari/537.36'
headers = {
'Host': host,
'Referer': 'https://m.weibo.cn/search?containerid=231522type%3D1%26q%3D%23%E7%BE%8E%E5%9B%BD%E7%96%AB%E6%83%85%23',
'User-Agent': user_agent
}
# 按页数抓取数据
def get_single_page(page):
#请求参数
params = {
'containerid': '231522type=1&q=#美国疫情#',
'page_type': 'searchall',
'page': page
}
url = base_url + urlencode(params)
try:
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.json()
except requests.ConnectionError as e:
print('抓取错误', e.args)
if __name__ == '__main__':
for page in range(1, 200): # 瀑布流下拉式,加载200次
print(get_single_page(page))上面是一个简单的微博爬虫,同时也展示了异常处理、函数、迭代的用法。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple或者只想临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名