Python第二天,爬虫的开始

2.png

python中的循环

先介绍for循环
格式
for 临时变量 in 可迭代对象:
循环体

name = 'neusoft'
for x in name:
    print(x)
    if x =='s':
        print('hh')

这个X是什么 x是临时变量不用提前声明 python自动为你创建
循环次数在哪里?
range(起始位置,终止位置,步长)可以写循环次数
起始位置省略,默认为0,步长省略为1,范围为左闭右开

for i in range(1,101,2):
    print('hhh,这是嘲笑你第',i,'次')

单行注释 注释的作用 让读代码的人看得懂

爬虫:需要掌握的技术

1.python基础语法
2.HTML结构
3爬虫模块的使用

1.python基础语法

1.1常用数据类型
数字。列表。字符串。字典。元祖。集合
1.1.1列表
类似于C中的数组,但是与数组不同的是,list可以存储不同类型的数据
创建一个列表

heroList=['鲁班七号',"安琪拉","李白","后裔",100,1.0]
 print(heroList)
 遍历heroList
 for hero in heroList:
     print(hero)
len() 可以检测对象的元素个数
 for i in range(len(heroList)):
      print(heroList[i])
     if heroList[i]  == '后裔':
         print('恭喜你选择隐藏英雄')
     else:
         print('没有选择隐藏英雄')

总结:列表使用[]进行创建
为什么使用列表?列表可以将我们需要的很多元素封装到一个容器中,
列表的相关操作
访问列表中的元素 列表名[索引]
print("英雄为:",heroList[1],heroList[0])

2 ,添加元素 append 是在列表的末尾添加元素

heroList.append('鲁班大师')
print('添加后的列表',heroList)

3,修改

 heroList[4] ="貂蝉"
 print("修改后的列表",heroList)

4,删除

 del heroList[5]
print("删除后的列表",heroList)

1.2判断与循环

1.3函数
生成一个[0,1,2,3.....,20]的列表
可以使用循环来创建
创建一个空列表
list1 = []
使用循环不停append

for i in range(1,21):
     list1.append(i)
 z     print(list1)
Python制作进度条
安装tqdm库
pip install 库的名称
导入tqdm
from tqdm import tqdm
import  time
mylist =[]
for i in range(100):
    mylist.append(i)

遍历mylist

for x in tqdm(mylist):
    time.sleep(0.5)

字符串
表示 '' ""(没有区别)

要注意的是

name = 'k"o"be'
print(name)
访问
  print(name[2])
修改
    name[1]="x"
    print(name)
  name = "kobe"
  print(name)
常用操作
  price = '¥9.9'
字符串的替换
  price = price.replace("¥",'')
  print(price)
  print(price)
 价格涨价十倍
  new_price = float(price)*10
  print(new_price)

写一个价值一亿的AI代码

  while True:
      seg = input('')
      seg = seg.replace('吗?','!')
      print(seg)

strip 去空格操作

  name = '       neude    '
  print(len(name))
  name =name.strip()
  print(len(name))

join 将列表变成支付串

li = ['你','好','帅']
disk_path =['E:','AnCC2019','products']
path='\\'.join(disk_path)
print(path)
li=''.join(li)
print(li)

元组
tuple()
list()
int()
str()
创建
元组和列表很相似,只不过不能修改

 a =(1,'1',3)
  print(a)
  print(type(a))
访问
  print(a[2])
  a[2]=6

元组的用处:
1.写保护,安全,python内置函数返回的类型都是元组
2.相对列表来讲,元组更节省空间,效率更高

掌握
1.拥有一个元素的元组
b = (100,)
print(type(b))

我们经常使用的组合方式:

list2 = [('a',22),('b',33),('c',99)]

字典
创建字典

info ={'name':'林诗博','age':'20','gender':''}
print(type(info))

访问字典 通过键访问值

print(info['name'])

访问不存在的键

  print(info['add'])

当不存在这个键的时候,可以返回默认设置的值
有这个键就正常返回

  print(info.get('add','抚顺市'))
修改
  info['age'] = 3
  print(info)

增加 当字典中不存在这个键,我们就会添加

  info['addr'] = '大石桥'
  print(info)
删除
  del info['age']
  print(info)

遍历

for k,v in info.items():
    print(k,'---->',v)

获取所有键

print(list(info.keys()))

获取所有的值

print(list(info.values()))

函数 面向过程
方法 面向对象
python 中的函数
def 函数名():
函数体

  def say_hello(name):
      print('hello',name)
  say_hello('qwe')

一到一百之间累加和为5050

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))

爬虫

1,获取到网页的源代码,requests
安装requests
import requests
获取指定域名的源代码

response = requests.get('https://www.baidu.com')
  //响应状态码 200ok 404 not fount
print(response.status_code)
  //响应的编码方式
  //设置编码方式
response.encoding = 'utf-8'
print(response.status_code)
print(response.encoding)
 // 获取响应的string类型8t
html_data = response.text
print(html_data)
//    将爬取的文件写成本地html
  //文件路径,读写模式,编码方式
with open('index.html','w',encoding='utf-8') as f:
    f.write(html_data)

图片的爬取

图片地址

url='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1578383068&di=5150d151d46a0de846bdd73b54f533b5&imgtype=jpg&er=1&src=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fw%3D580%2Fsign%3Db57187fbbf3eb13544c7b7b3961fa8cb%2Fa826bd003af33a87dc2bab09c55c10385343b57a.jpg'
response2=requests.get(url)
  //获取byte类型的响应
img_data = response2.content
//[图片上传中...((J`6%7VL{8U4R4MH(PYA)(K.png-2ce6ac-1577792974167-0)]
  文件路径,读写模式write binary,编码方式
with open('骷髅.png','wb') as f:
    if response2.status_code == 200:
     f.write(img_data)

2,然后提取我们要的信息 xpath


1.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容