在进行python爬虫学习前,需要进行如下准备工作:
python3+pip官方配置
1.Anaconda(推荐,包括python和相关库)
【推荐地址:清华镜像】
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
【安装过程中注意选择自动添加path到环境变量中,未选择需要自己添加】
红色提示的意思是:自动添加的环境变量会处于最前面,自动成为默认,可能会使原本使用默认的软件报错,未防止以上问题,可以打开环境变量后,调整顺序将Anaconda相关path移到最后。
【环境变量设置成功】
2.官方安装
官方安装指的是只安装python,需要的库通过手动安装,下文会涉及库的安装
【python下载】
官方地址: https://www.python.org/
【自行添加环境变量】
【注】【环境变量如何添加】
我的电脑(右键)---属性---高级系统设置---环境变量-----path----在后面加上分号添加python安装地址及下层scipt(对pip的配置),如上图
3.pycharm安装
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。
官方网址:http://www.jetbrains.com/pycharm/download/#section=windows
【注】选择community下载(社区版的功能足够使用)
MongoDB安装配置
1.MongoDB数据库
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
【下载链接(64位)直接点击下载】
https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.5-signed.msi
2.可视化GUI下载
redis安装配置
1.redis安装
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
【下载链接】
https://github.com/MicrosoftArchive/redis/releases
2.可视化gui下载
https://github.com/uglide/RedisDesktopManager/releases
mysql安装配置
1.官方下载
https://dev.mysql.com/downloads/file/?id=480824
(8.0)
https://dev.mysql.com/downloads/file/?id=481157
(5.7)
【最好选择镜像msi下载安装】
安装包下载后的安装需要通过命令行执行命令,且root初始密码不能自己设置(惨痛的教训。。。没记住密码。。。8.0的改又特别麻烦,试了很多办法后卸载重装。)
【root密码请不要乱设置】
使用msi自行安装设置的root密码不要随便设置
2.可视化GUI
爬虫常用库的安装
1.内置库
在安装python时,会默认安装,一般不需要手动安装。
在使用爬虫时,常用的两个内置库是urllib、re
【如何检查库是否安装】在pycharm中import该库,一般不报错的就是库已经存在
import urllib
import urllib.request
import re
a=urllib.request.urlopen('http://www.baidu.com')#尝试使用urllib库
print(a)
2.第三方
第三方库一般都需要手动安装,爬虫使用的第三方库有下面这几个:
【requests】
如图所示,打开命令行(开始-输入cmd-打开命令行),输入以下代码:
pip3 install requests
【selenium】
打开命令行,输入以下代码:
pip3 install selenium
【phantomjs】(*面浏览器)
http://phantomjs.org/download.html
# <editor-fold desc="被舍弃的PhantomJS"> from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('https://www.baidu.com') # </editor-fold>
【注意】最新的selenium已经不再支持ph
UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
【替代】可使用Headless Chrome(需要安装chromedriver)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options chrome_options=Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver=webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://www.baidu.com/")
【chromedriver】
http://chromedriver.storage.googleapis.com/index.html
【注意】
驱动和chrome浏览器版本一定要匹配
【版本配置查看】最新是2.45而不是2.9
http://chromedriver.storage.googleapis.com/2.45/notes.txt
【lxml】
打开命令行,输入以下代码:
pip3 install lxml
网速慢的请使用下面一个方法
【whl文件安装】
【前提】安装wheel库
pip3 install wheel
【下载whl文件】
https://pypi.org/search/?q=lxml
【安装whl文件参考】
https://blog.csdn.net/weixin_41592575/article/details/78984585
【BeautifulSoup】
网页解析库,依赖lxml(请先安装lxml),安装好lxml后,打开命令行,输入以下代码:
pip3 install BeautifulSoup4
使用示例:
from bs4 import BeautifulSoup
【pyquery】
网页解析库。
打开命令行,输入以下代码:
pip3 install pyquery
使用示例:
from pyquery import PyQuery as pq
doc =pq('<html>hello world</html>')
result = doc('html').text()
print(result)
【pymysql】
打开命令行,输入以下代码:
pip3 install pymysql
使用示例:
import pymysql
conn =pymysql.connect(host='localhost',user='root',password='',port=3306,db='mysql')
cur =conn.cursor()
cur.execute('select * from db')
cur.fetchall()
【pymongo】
打开命令行,输入以下代码:
pip3 install pymongo
使用示例:
import pymongo
client = pymongo.MongoClient('localhost')
db =client['newtestdb']
db['table'].insert({'name':'zhang'})
db['table'].find_one({'name':'zhang'})
【redis】
打开命令行,输入以下代码:
pip3 install redis
使用示例:
import redis
r = redis.Redis('LOCALHOST',6379)
r.set('name','zhang')
r.get('name')
3.外部库
【flask】
打开命令行,输入以下代码:
pip3 install flask
【django——分布式开发】
打开命令行,输入以下代码:
pip3 install django
【jupyter——网页端notebook】
打开命令行,输入以下代码:
pip3 install jupyter
4.多版本python安装包
若电脑存在多个版本的python,可以参考下面的文章安装包
https://blog.csdn.net/qq_36148847/article/details/81189443
5.注意
在命名.py文件时,不要将文件名设置为包(库)名,会导致无法正确的import包(后续会讲到)