Hello Python!Hello NovalIDE!
因为种种原因,不得不开始使用Python,我承认C++对我真的很难...也许当初直接学Python又是另一个未来吧.....
选择Python版本
毫无疑问,Python3是我的选择,也是未来的选择。
选择IDE
VSCode 自配IDE(微软出品)
淘汰原因:- 需要手动配置,也许并不复杂,但可能浪费较多精力(吸取配置C++开发环境的教训)
- 知乎评论反映其对原生Python支持尚可,但对第三方库支持较差可能出现许多无法解决的问题。
PyCharm 商业版破解 or 社区版
淘汰原因:- 功能强大,但对硬件配置要求较高。
- 体积臃肿庞大不符合我的轻量化要求。
NovalIDE (开源的国产IDE支持Windows和Linux但不支持macOS并且作者似乎没有支持Mac的打算)
选用原因:- 轻量化,Windows下安装包仅10MB+,Linux下1MB+!
- 支持国产支持中英文(使用Python编写,用py写的IDE写py?俄罗斯套娃?)
- 界面简洁一目了然,上手极快,非常适合新手入门使用。
- 内置了Python库并能快速切换选用本机已安装的编译器,在设备未安装Python支持库的情况下也能进行常规的调试运行。(能自己给自己提供支持=自立?)
- 能快速通过内置的pip包管理器安装Python的各种包(只需要知道确切名字),并且支持切换官方源为预设的国内源(清华,中科大,阿里等)
总而言之,PythonIDE选定为Noval IDE,这个IDE有很多令我感到非常舒心的提示,麻雀虽小五脏俱全,对于一个Py新人是足够好用了,这让我在IDE配置上节约了大把时间。其他众多优点可自行下载安装体验。
尝试使用Noval IDE 运行Python代码
我没打算尝试什么“你好世界”,直接复制了suk-lees同学发在吾爱破解的一个小工具爬取百度,自定义搜索引擎,使用良好(算是半成品吧,想要真正拿出去用还是得稍微增删点东西。)
//源代码如下
# -*- coding: utf-8 -*-
"""
@Time : 2020/3/10 13:31
@Auth : Suk
@file : 爬取Baidu.py
@IDE : PyCharm
@Motto: Knowing your ignorance is the best way to succeed.
"""
import requests
from bs4 import BeautifulSoup as bs
kv = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'zh-HK,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'DNT': '1',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'TE': 'Trailers',
}
url = 'https://www.baidu.com/s'
keyword = {'wd': input("我想探索:"), 'pn': -10}
print('---------------------------------------------------------------------------')
print('据我所知,两页其实就已经是关键字准确性的极限了,建议输入三页以内!')
innitial = []
for i in range(int(input('您想检索的页数:'))):
if len(innitial) == 0:
print('Please Wait...')
try:
keyword['pn'] = keyword.get('pn') + 10
# print(keyword['pn']) # 查看当前页码
r = requests.get(url, headers=kv, params=keyword).url
# r.raise_for_status()
# r.encoding=r.apparent_encoding
# innitial.append(r.url)
innitial.append(r)
except:
print('ERROR!')
print('\t\tPlease Wait...')
lis = []
urls = []
for i in innitial:
# print(i) # 查看当前链接是否正确
r = requests.get(i, headers=kv)
soup = bs(r.text, 'html.parser')
# print(soup.prettify())
for i in soup.select('div', class_='result c-container'):
# links = i.select('a', target_='_blank') # select出target属性为“_blank”的a标签,存入links列表中
# for j in links:
# urls.append(j.get('href'))
# print(urls)
result = i('h3')
for data in result:
urls.append(data.a.get('href'))
lis.append(str(data.text).strip())
tplt = "{0:^10}\t{1:{3}<30}\t{2:<20}"
print('找到了{}条数据,结果如下:'.format(len(lis)))
print(tplt.format('序号', '结果', '链接', chr(12288)))
l = 0
for i in lis:
l += 1
print(tplt.format(l, i, urls[l - 1], chr(12288)))
排查问题,安装扩展库
使用Noval IDE的内置Python环境我一次性成功运行了以上代码,但使用我自己手动安装的Python3.8.5时出现了报错
Traceback (most recent call last):
File "G:\TYYP\Python\BaiduCrawler\demo.py", line 11, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
看上去是缺少request这个库对比了一下内置环境和我本地手动安装的环境里面库的数目也证实了是这样的。
于是使用Noval IDE附带的pip包安装选项 输入包名“requests”安装了。
安装成功后没有再出现此报错,但是出现了新的问题:
Traceback (most recent call last):
File "G:\TYYP\Python\BaiduCrawler\demo.py", line 12, in <module>
from bs4 import BeautifulSoup as bs
ModuleNotFoundError: No module named 'bs4'
看起来和上一个问题一样,不过我决定尝试手动使用pip命令安装一次。
尝试直接进入python目录但是没进去,不过我知道我的Python3.8.5安装在C:\Program Files\Python38\python.EXE
Microsoft Windows [版本 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.
C:\Windows\system32>cd python
系统找不到指定的路径。
C:\Windows\system32>cd C:\Program Files\Python38\
C:\Program Files\Python38>cd Scripts
C:\Program Files\Python38\Scripts>pip install bs4
Collecting bs4
Downloading bs4-0.0.1.tar.gz (1.1 kB)
Collecting beautifulsoup4
Downloading beautifulsoup4-4.9.1-py3-none-any.whl (115 kB)
|████████████████████████████████| 115 kB 56 kB/s
Collecting soupsieve>1.2
Downloading soupsieve-2.0.1-py3-none-any.whl (32 kB)
Using legacy setup.py install for bs4, since package 'wheel' is not installed.
Installing collected packages: soupsieve, beautifulsoup4, bs4
Running setup.py install for bs4 ... done
Successfully installed beautifulsoup4-4.9.1 bs4-0.0.1 soupsieve-2.0.1
安装好bs4扩展包(看百度说是一个HTML标签解析库)后运行程序,程序正常运行
不支持macOS啊 那没事了 VSCode真香!