Python Selenium爬虫,爬取翻页URL不变的网站 | 您所在的位置:网站首页 › 网页浏览图片不用点下一页怎么设置 › Python Selenium爬虫,爬取翻页URL不变的网站 |
遇到的问题 Selenium需要安装geckodriver from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep from selenium.webdriver.support.ui import Select import openpyxl as op import selenium这里注释content的原因是driver.back() 并没有回到上一页(未解决),而是回到了起始页,由于url不变可能是后退过程中丢失了缓存值,因此二次爬取页面内容时,是进入网址内爬取的。 # 打开指定(Firefox)浏览器 driver = webdriver.Firefox() # 获得指定页面 driver.get("..") wb = op.Workbook() # 创建工作簿对象 ws = wb['Sheet'] # 创建子表 ws.append(['标题','日期','网址','内容']) # 添加表头 # 页面循环 需要循环点击下一页 page=1 def getData(): time.sleep(2) for i in range(1,11): # 通过 xpath找到title_list 这里的list 需要text title = driver.find_element(By.XPATH, '/html/body/div[5]/div/div/div[1]/div['+str(i)+']/a').text # 获得日期 date = driver.find_element(By.XPATH, '/html/body/div[5]/div/div/div[1]/div['+str(i)+']/span').text # 获得网址 网址在href属性值里 url = url = driver.find_element(By.XPATH, '/html/body/div[5]/div/div/div[1]/div['+str(i)+']/a').get_attribute("href") # # 找到内容按钮 # content_button = driver.find_element(By.XPATH,'/html/body/div[5]/div/div/div[1]/div['+str(i)+']/a') # # 进行点击操作 # content_button.click() # content_list = driver.find_elements_by_class_name('MsoNormal') # # 将content数据text写入到content里 # content = "" # for j in range(len(content_list)): # content = content+content_list[j].text # 将 title date url content写入到excel中 一行一行写 row = title,date,url # ,content ws.append(row) wb.save('notice.xlsx') while page |
CopyRight 2018-2019 实验室设备网 版权所有 |