python网络爬虫-python基础(三)
python安装
Anaconda的python科学计算环境,只需要想普通软件一样安装就可以把python的环境变量、解释器、开发环境都安装到计算机中
除此之外anaconda还提供众多的科学计算的包,如numpy、scipy、pandas、和matplotlib等,以及机器学习、生物医学和天体物理学计算等众多的包/模块,如scikilt-learn/biopython等。
使用pip安装第三方库
pip是python安装各种第三方库(package)的工具。库可以理解成别人写好的代码组合。安装好某一个库之后就可以直接调用其中的功能,我们就不用自己再重新写了
使用编译器pycharm编程
有个教育版不用激活个人练习的话可以用这个版本
python使用入门
基本命令
python是一种非常简单的语言,最简单的就是print,使用print可以打印出一系列的结果

python严格要求缩进

如果要注释某行代码前面加上‘#’

数据类型
- 字符串:一般用来存储类似句子的数据,放到单引号或双引号中,需要连接字符串用加号加起来就行
str0 = '111'
str1 = "222"
str2 = str + " " + str1
print(str2) - 数字:常用的两种数字类型:整型(int)和浮点数(float)。两种数据类型要互换就用括号括起来前面加上想要转换的数据类型就行
int1 = 1
float1 = 1.1
strans_int = int(float1)
print(strans_int) - 列表:列表可以包含任意种类的数据来下和任意数量,创建也非常容易,把不同的变量放入方括号中用逗号隔开
price_li = [399, 4369, 539, 288, 109, 749, 235, 190, 99, 1000]
获取列表第一个元素price_li[0]就可以拿到了,中括号里面放索引值就好了。
修改列表第一个元素的值price_li[0] = 111 - 字典:又叫键值对,每一个值都对应一个键(key),key必须是唯一的,但值不用也可以使用任意类型
info_dict = {'name': '张三', 'age': 21}
print(info_dict) # 把整个字典中的数据都输出出来
print(info_dict['name']) # 把整个字典中key叫‘name’的值给输出出来
循环提取出字典中全部的key和value
for key, value in info_dict.items():
print(key, value)
4.条件语句和循环语句
条件语句可以使符合条件的时候执行某部分代码,条件为布尔值,也就是只有true和false两个值,条件不成立执行else后面的语句
if jx != 'Y':
print(jx)
else :
print(jx)
如果需要判断有多种条件,就需要用到elif
if select == '1':
list.append(cardtool.insertcard())
print('名片新增成功!')
elif select == '2':
cardtool.allcard(list)
elif select == '3':
cardtool.querycard(list)
else:
print('谢谢使用,系统已退出!')
5.循环语句可以让我们执行一个代码段多次,循环分为for和while
for可以在给定的顺序下重复执行
for key, value in info_dict.items():
print(key, value)
while循环能不断重复执行只需要满足一定条件
while True:
print(*)
6.函数:在代码少的时候可以按照逻辑写完就能够很好的运行。但是如果代码变得庞大复杂起来,就需要自己定义一些函数把代码分给成一个个方块,使代码易读,可以重复使用,并容易调整顺序
一个函数包括输入参数和输出参数
def function(x):
y=x+1
return y
#调用函数
num=10
sum = function(num)
7.面向对象编程
介绍面向对象之前先说一下面向过程,面向过程编程的意思是根据业务逻辑从上到下写代码,这个最容易被初学者接受。需要那段代码写下来就好了。
随着时间的推移,在编程的方式上又发展出了函数式编程,把某些功能封装到函数中,需要用的时候可以直接调用,不用重复写,节省了编码的时间。
随着时间的推移,又出现了面向对象编程。面向对象编程是把函数进行分类和分装后放入对象中,是得开发更快更强。
class Person:
def init(self, name, age): # 类的构造方法
self.name = name
self.age = age
def datail(self): # 通过self调用被封装的内容
print(self.name)
print(self.age)
obj1 = Person('张三', 19)
obj1.datail()
如果各个函数之间独立且无公共数据,就选用函数式编程;如果各个函数之间有一点更多关联性,那么就选用面向对象编程比较好
1.封装:封装分两步:第一步为封装内容,第二部为调用被封装的内容
点击查看代码
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def datail(self): # 通过self调用被封装的内容
print(self.name)
print(self.age)
# 调用
obj1 = Person('张三', 19)
obj1.datail()
2.继承是以普通的类为基础建立专门的类对象。子继承了父的某些特性
点击查看代码
class Animal:
def eat(self):
print("%s 吃" % self.name)
def drink(self):
print("%s 喝" % self.name)
def shit(self):
print("%s 拉" % self.name)
def pee(self):
print("%s 撒" % self.name)
class Cat(Animal):
def __init__(self, name):
self.name = name
def cry(self):
print("喵喵叫")
class Dog(Animal):
def __init__(self, name):
self.name = name
def cry(self):
print("汪汪叫")
# 编写一个简单的爬虫
点击查看代码
import requests # 最简单易用的HTTP库
from bs4 import BeautifulSoup # lxml解析网页
# 获取页面
link = "http://www.santostang.com/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
r = requests.get(link, headers=headers)
print(r.text)
# 抓取数据
soup = BeautifulSoup(r.text, "html.parser")
title = soup.find("h1", class_="post-title").a.text.strip()
print(title)
# 存储数据
with open('title.txt', "a+") as f:
f.write(title)
f.close()
python网络爬虫-python基础(三)的更多相关文章
- 03.Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的 ...
- Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的 ...
- Python爬虫《Python网络爬虫相关基础概念》
引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从 ...
- 03,Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上. 我们都知道,当前我们所处的时代 ...
- 《Python网络爬虫相关基础概念》
爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的 ...
- 爬虫(二)Python网络爬虫相关基础概念、爬取get请求的页面数据
什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫 1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆 ...
- Python网络爬虫相关基础概念
什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫 1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆 ...
- python网络爬虫笔记(三)
一.切片和迭代 1.列表生成式 2.生成器的generate,但是generate保存的是算法,所以可以迭代计算,没有必要,每次调用generate 二.iteration 循环 1.凡是作用于for ...
- Python网络爬虫与信息提取笔记
直接复制粘贴笔记发现有问题 文档下载地址//download.csdn.net/download/hide_on_rush/12266493 掌握定向网络数据爬取和网页解析的基本能力常用的 Pytho ...
随机推荐
- 【LeetCode】824. Goat Latin 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 「艺蜂酒店管理系统」 · Java Swing + mysql 开发 学生毕业设计项目
Java Swing在社会上基本用不到,但是任有学校拿来当做结课设计,只是博主在校期间的一个项目.如果在部署过程中有问题可以加我qq68872185. 码云仓库地址:https://gitee.co ...
- C# 执行Javascript脚本
前一阵子使用C#编写SCXML状态机,需要解析EMCScript表达式,使用了Jint库(https://github.com/sebastienros/jint/),当时感觉与C#之间的数据转换不是 ...
- C#自定义转换(implicit 或 explicit)
C#的类型转换分为显式转换和隐式转换,显式转换需要自己声明转换类型,而隐式转换由编译器自动完成,无需我们声明,如: //long需要显式转换成int long l = 1L; int i = (int ...
- PaperRead - Comparison of Fundamental Mesh Smoothing Algorithms for Medical Surface Models
几种常见平滑算法的实现可以参见: 几种网格平滑算法的实现 - Jumanco&Hide - 博客园 (cnblogs.com) 1 Introduction 图像空间中相关的组织和结构,变换成 ...
- 一种适合于MC与SMC算法的哈希表设计
MC算法与SMC算法中的三角片焊接问题 在之前的关于MC算法与SMC算法的博文中介绍了算法的实现,文章主要围绕算法的核心问题,即三角片如何产生的问题进行了详细的描述.但由于实际应用中需要的等值面Mes ...
- hisql ORM 框架研究(国内第一个支持HANA的ORM框架)
HiSql 操作说明文档 V1.0 下一代ORM框架 国内第一个支持HANA的ORM框架 hisql源码下载 git clone https://github.com/tansar/HiSql.git ...
- Flask_请求钩子(七)
在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编 ...
- vue 从后台获取数据并渲染到页面
一.在 created中调用methods中的方法 二.在methods中通过vuex异步获取后台数据 三.在computed 中计算属性 四.页面中调用computed中的计算后的属性 来自为知笔记 ...
- Python2 和 Python3 共存于 Centos7
一.解决Python2 pip问题 centos7自带的是Python2,但是并没有安装pip,我们需要自行安装 包名为 python-pip # yum install epel-release - ...