python 模拟人操作页面

使用 selenium 中的webdriver 驱动chorm 以及爬取数据

1.下载selenium 并导入

from selenium import  webdriver ##驱动
from selenium.webdriver.chrome.service import Service ##驱动
import re ##筛选数据
from selenium.webdriver.common.by import By ##驱动类
import  time
import  pymysql ##数据库

开始webdriver的配置

o=Options()
o.add_argument('--headless')#无界面浏览
path = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"#chrome驱动的地址
#chrome驱动的服务赋值
s=Service(path)
#驱动
driver=webdriver.Chrome(service=s,options=o)
#目标网址
baidu= "www.baidu.com”
#页面加载多久再进行网页爬虫操作
driver.implicitly_wait(10)
#获取页面
strhtml = driver.get(url=baidu)  # Get方式获取网页对象

然后操作页面

#操作页面(execute.....通过Js来对页面模拟人进行操作) 当前操作为滑到底部 然后滑到500高度的位置 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
driver.execute_script("window.scrollTo(0, 500);")

接下来获取页面数据 并筛选数据

    str=driver.page_source
    #根据类名获取元素
    test=driver.find_elements(by=By.CLASS_NAME,value="cate1688-offer")
    #基数
    a=0
    for param in test:
        #计数
        a=a+1
        #根据页面发现的规律获取相对应的数据
        title=param.find_element(by=By.CLASS_NAME,value="title").text

        price=param.find_element(by=By.CLASS_NAME,value="price").text

        number=re.findall(r"交.*",param.find_element(by=By.CLASS_NAME,value="number").text)[0][1:-1]

        img = param.find_element(by=By.CLASS_NAME,value="img").find_element(by=By.TAG_NAME, value="img").get_attribute('src')
      
        
      

爬取完毕

原创不易,转载请携带原文地址

谢谢你

你可能感兴趣的:(工作日志,python,chrome,爬虫)