基本概念
学习来源:Python网络爬虫从入门到实践(第2版)——唐松
爬虫流程
1.获取网页
基础技术:request、urllib、selenium(模拟浏览器)
进阶技术:多进程多线程抓取、登录抓取、突破IP封禁和服务器抓取
2.解析网页
基础技术:re正则表达式、BeautifulSoup和Lxml
进阶技术:解决中文乱码
3.储存数据
基础技术:存入txt、csv文件
进阶技术:存入MySQL、MongDB数据库
工具
Anoconda下的Jupyter
基础语法
python要求严格的代码缩进,以#注释。
Python是面向对象(object oriented)的一种语言,不需要在使用前声明需要使用的变量和类别。
print()
数据类型
字符串String(放在单引号或者双引号中)
数字Number(int 和float)
列表list(类似于数组,不同的是列表能够包含任意数量的不同数据类型,以方括号表示)
访问:list[1:3]
修改:list[0] = “”
字典Dictionaries(key与value一一对应,但值不唯一,以{"":’","":""}表示)
遍历:
for key,value in xxx.items():
print (key,value)
条件语句和循环语句
if 判断条件1:
执行语句1
elif 判断条件2:
执行语句2
else 判断条件3:
执行语句3
for xxx in list1:
执行语句
whlie 判断条件:
执行语句
函数
#定义函数
def increment (x):
y = x + 1
return y
#调用函数
result = increment(2)
print (result)
3
面向对象编程
面向过程编程:根据业务逻辑从上往下写代码
函数式编程:把某些功能封装到函数中
def detail(name,age)
print (name)
print (age)
obj1 = detail('zhangwei',20)
zhangwei
20
面向对象编程:把函数进行分类和封装以后放入对象中
class Person:
#创建类
def _init_(self, name, age):
#_init_()方法称为类的构造方法
self.name = name
self.age = age
def detail(self):
#通过self调用被封装的内容
print (self.name)
print (self.age)
obj1