day05 Python

selenium 基本使用:
from
selenium import webdriver # 导入键盘Keys from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() # 检测代码块 try: # 隐式等待,等待标签加载 driver.implicitly_wait(10) # 往京东主页发送请求 driver.get('https://www.jd.com/') # 通过id查找input输入框 input_tag = driver.find_element_by_id('key') # send_keys为当前标签传值 input_tag.send_keys('中华字典') # 按键盘的回车键 input_tag.send_keys(Keys.ENTER) time.sleep(3) ''' 爬取京东商品信息: 公仔 名称 url 价格 评价 ''' # element 找一个 # elements 找多个 # 查找所有的商品列表 good_list = driver.find_elements_by_class_name('gl-item') # print(good_list) # 循环遍历每一个商品 for good in good_list: # 通过属性选择器查找商品详情页url # url good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href') print(good_url) # 名称 good_name = good.find_element_by_css_selector('.p-name em').text print(good_name) # 价格 good_price = good.find_element_by_class_name('p-price').text print(good_price) # 评价数 good_commit = good.find_element_by_class_name('p-commit').text print(good_commit) str1 = f''' url: {good_url} 名称: {good_name} 价格: {good_price} 评价: {good_commit} ''' # 把商品信息写入文本中 with open('jd.txt', 'a', encoding='utf-8') as f: f.write(str1) time.sleep(10) # 捕获异常 except Exception as e: print(e) # 最后都会把驱动浏览器关闭掉 finally: driver.close()
数据类型的使用:
int、float、str、bool、list、dict、complex、tuple、set
重点:*****
数据类型的重点方法!
可变不可变类型!
数据类型的相互转换!
非重点:
数据类型不常用方法
isinstance(obj,类型):可以判断,True/False 本质上作为1/0存储的。
字符串常规操作:******
1、字符串的索引取值:能索引取值的多个值都是有序。例:str="123abc"
使用:字符串名+[索引值] 
2、字符串拼接:用"+"号或用占位符"%s"。
3、字符串长度:len(字符串)
4、字符串切片:取子字符串。变量名=字符串[开始:结束:步长] 
            s=str[0:3:1]  s=str[-1:-3:-1]
5、字符串循环(遍历):for  i  in  字符串 :
6、c成员运算:判断某字符串是否在该字符串中:
            某字符串 in 该字符串  结果为bool值
字符串重要方法:*****
1、索引:目标字符串的索引位置:
        位置=字符串.index("目标字符串")
2、去字符串两边空格:strip
        字符串.strip()
3、计算目标字符串出现次数:count

4、判断字符串是否是数字:isdigit()
         字符串.isdigit():结果为bool值,只能判断正整数。
5、大小写转换:upper/lower  字符串.upper/lower
  首字母大写:capitalize()
   每个单词首字母大写:title()
6、判断是否以某某开头或结尾:startwith()/endwith(),结果为    bool值
7、替换:replace(old,new,count)

8、格式化:format

列表类型:列表内部可以存放多个值,可以是任何类型
    列表可以嵌套
列表的常用操作:
    1、索引取值:
     2、列表运算:+、*。得到的是新列表。
     3、列表长度:len(列表)
     4、列表切片:[: :]
     5、成员运算: 目标成员  in 目标列表
     6、循环:for i  in  目标列表 :
列表常用方法:
    1、列表的增删改查:
        增:列表.append(): 末尾增
            列表.insert(index,值):任意位置的index之前的增
        改:列表[index]=目标改的值
        删:列表.remove(目标值)
            列表.pop():默认从末尾删,并返还值。可以(index)            指定位置删除
            del 列表[index]
            列表.clear():清空列表
        
     2、其他方法:
        排序:按照目标规则进行排序:列表.sort():默认正向排序
            针对于同类型!
            反转排序:列表.sort(reverse=True)
                    列表.reverse():叫反转不叫排序
       计算值的个数:列表.count():列表中可以存放重复数据
                    用来计算目标值的存放次数。
       整体增加,添加到末尾:列表.extend("可迭代对象")
       目标的索引位置,可以规定区间:
          列表.index(目标对象,[开始位置,[结束位置]])
       
    ***可变与不可变类型***: 
    可变类型:值改变,地址不变。
    不可变类型:值改变,地址也改变。

了解内容:
1. find | rfind:查找子字符串索引,无结果返回-1
2. lstrip:去左留白
3. rstrip:去右留白
4. center | ljust | rjust | zfill:按位填充
语法:center(所占位数, '填充符号')
5. expandtabs:规定	所占空格数
6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
7. isdigit | isdecimal | isnumeric:数字判断
8. isalnum | isalpha:是否由字母数字组成 | 由字母组成
9. isidentifier:是否是合法标识符
10. islower | isupper:是否全小 | 大写
11. isspace:是否是空白字符
12. istitle:是否为单词首字母大写格式
原文地址:https://www.cnblogs.com/zwsmile/p/11105763.html