Python爬虫 第二讲

for循环

name = 'neusoft'
for x in name:
    print(x)
    if x == 's':
        print('哈哈')
# 结果
>>> n
e
u
s
哈哈
o
f
t

进度条

使用 pip install tqdm 安装tqdm库
导入 tqdm 库和 time
from tqdm import tqdm
import time
mylist = []
for i in range(20):
    mylist.append(i)
# 遍历mylist
for x in tqdm(mylist):
    time.sleep(1)  
# 结果
 >>> 35%|███▌      | 7/20 [00:07<00:13,  1.01s/it]

字符串操作

字符串的替换
# 常用操作
price = '¥9.9'
# 字符串的替换
price = price.replace("¥", '')
print(price)
# 结果
>>> 9.9

# 价格涨价 10倍
new_price = float(price) *10
print(new_price)
# 结果
>>> 99.0

while True:
    seg = input('')
    seg = seg.replace('吗?', '!')
    print(seg)
# 结果
>>> 你好吗?
>>> 你好!
strip 去空格操作
name = '    neuedu   '
print(len(name))
# 结果
>>> 13
name = name.strip()
print(len(name))
# 结果
>>> 6
join 将列表变成字符串
li = ['你', '好', '帅']
disk_path = ['C:','Users', 'Administrator', 'Desktop', 'CCF']
path = '\\'.join(disk_path)
print(path)
# 结果
>>> C:\Users\Administrator\Desktop\CCF

li = ''.join(li)
print(li)
# 结果
>>> 你好帅

元组

元组的作用
  • 写保护 ,安全, Python内置函数返回的类型都是元组
  • 相对列表来讲, 元组更节省空间, 效率更高
创建元组
# 元组和列表很相似,只不过不能修改
a = (1, '1', 3)
print(a)
print(type(a))
# 结果
>>> (1, '1', 3)
>>> <class 'tuple'>

# 拥有一个元素的元组
a = (100)
print(type(a))
# 结果
>>> <class 'int'>

b = (100,)
print(type(b))
# 结果
>>> <class 'tuple'>

# 我们经常使用的组合方式:
list2 = [('a',22),('b', 33),('c',99)]

##########访问元组

print(a[2])
# 结果
>>> 3

字典

创建字典 key -value
info = {'name': '纪鉴航', 'age': 18, 'gender':'female'}
print(type(info))
# 结果
>>> <class 'dict'>

# 访问字典 通过建访问值
print(info['name'])
# 结果
>>> 纪鉴航

# 访问不存在的键
print(info['addr'])
# 结果(报错)
>>> KeyError: 'addr'

# 当不存在这键的时候,可以返回默认设置的值,
# 有这个键就正常返回
print(info.get('addr', '抚顺市'))
# 结果
>>> 抚顺市

# 修改
info['age'] = 3
print(info)
# 结果
>>> {'name': '纪鉴航', 'age': 3, 'gender': 'female'}

# 增加 当字典中不存在这个键, 就会添加
info['addr'] = '鞍山市'
print(info)
# 结果
>>> {'name': '纪鉴航', 'age': 3, 'gender': 'female', 'addr': '鞍山市'}

# 删除
del info['age']
print(info)
# 结果
>>> {'name': '纪鉴航', 'gender': 'female', 'addr': '鞍山市'}

#  遍历
for k, v in info.items():
    print(k, '---->', v)
# 结果
>>> name ----> 纪鉴航
gender ----> female
addr ----> 鞍山市

# 获取所有键
print(list(info.keys()))
# 结果
>>> ['name', 'gender', 'addr']

# 获取所有的值
print(list(info.values()))
# 结果
>>> ['纪鉴航', 'female', '鞍山市']

函数

函数和方法的区别
  • 函数 面向过程
  • 方法 面向对象
Python 中的函数
# 函数的定义
def say_hello(name):
    print('hello', name)
say_hello('neusoft')
# 结果
>>> hello neusoft

# 1到 任意数之间累加和
def caculate_num(num):
    sum_num = 0 # 存求和
    for i in range(1, num+1):
        sum_num = sum_num + i
    return sum_num
print(caculate_num(100))
# 结果
>>> 5050

爬虫

爬虫即网络爬虫,英文是Web Spider。翻译过来就是网络上爬行的蜘蛛,如果把互联网看作一张大网,那么爬虫就是在大网上爬来爬去的蜘蛛,碰到想要的食物,就把他抓取出来。

我们在浏览器中输入一个网址,敲击回车,看到网站的页面信息。这就是浏览器请求了网站的服务器,获取到网络资源。那么,爬虫也相当于模拟浏览器发送请求,获得到HTML代码。HTML代码里通常包含了标签和文字信息,我们就从中提取到我们想要的信息。

通常爬虫是从某个网站的某个页面开始,爬取这个页面的内容,找到网页中的其他链接地址,然后从这个地址爬到下一个页面,这样一直不停的爬下去,进去批量的抓取信息。那么,我们可以看出网络爬虫就是一个不停爬取网页抓取信息的程序。
引用自 https://blog.csdn.net/Computer_Hu/article/details/83351766

网页爬取
# 导入 *requests* 库
import requests
# 获取指定域名的源代码
response = requests.get('http://www.baidu.com')
#响应的编码方式
# 设置编码方式
response.encoding = 'utf-8'
# 响应状态码  200 ok    404not found
print(response.status_code)
# 结果
>>> 200

print(response.encoding)
# 结果
>>> utf-8

# 获取string类型相应
html_data = response.text
print(html_data)
# 将爬取的文件写成本地html
# 文件路径 读写模式 编码方式
with open('index.html', 'w', encoding='utf-8') as f:
    f.write(html_data)
图片爬取
# 图片爬取
# 图片地址
url = 'http://www.cpnic.com/UploadFiles/img_0_57266514_681418918_26.jpg'
response2 = requests.get(url)
# 获取byte类型的响应
img_data = response2.content
# 文件路径 读写模式write bingary 编码方式
if response2.status_code == 200:
    with open('kebi.jpg', 'wb') as f:
        f.write(img_data)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容

  • 爬虫文章 in 简书程序员专题: like:128-Python 爬取落网音乐 like:127-【图文详解】py...
    喜欢吃栗子阅读 21,748评论 4 412
  • 我好久没有发掘到一部优秀的电影了,这部电影,我想推荐给和我一样在创业或者在为了自己的梦想努力的每一个女孩子。 安吉...
    向日葵孔小姐阅读 5,216评论 1 2
  • 我是一个90后,一个永不言败的人。 没毕业的时候,就在十三行档口那边跑业务。 18年我选择白手起家创业,每个月还要...
    譕所事事阅读 140评论 0 0
  • 目标:种财富 动机:成为榜样带领更多的人 14:00 -骂人,在30个小时只睡了2个小时,刚睡下去一个小时就被下面...
    1C611艳燕阅读 187评论 0 0
  • 转眼明天就正月十五了,新年过完了,上班也有几天了,回顾这一个月各个目标完成情况。 1.第一次跑了十公里,非常感谢丁...
    刘艳888阅读 62评论 0 0