Selenium入门——动态多页网站并保存为csv

以爬csdn为例:

代码:

import time
from selenium import webdriver
import pandas as pd

#保存为csv
def save_csv(arr, csv_filename=None):
    """Save the data in csv format"""
    if csv_filename == None:
        csv_filename="csv.csv"
    arr_df = pd.DataFrame({'title': arr})
    arr_df.to_csv(csv_filename, float_format='%.3f', index=True, header=True)

#1. 获取浏览器对象
# webdriver.Chrome(executable_path='executable_path = 'D:\pythonProject\\venv\Scripts\chromedriver.exe'')#没有导入驱动,就以相对路径的方式引入
browser = webdriver.Chrome()#将驱动导入到了scripts目录中
#2. 请求url
url = "https://www.csdn.net/"
#3. 窗口最大化
browser.maximize_window()
browser.get(url)
#  send_keys:输入框内容
browser.find_element_by_css_selector("#toolbar-search-input").send_keys("爬虫真好玩")
#  click:点击事件
browser.find_element_by_css_selector("#toolbar-search-button").click()
 #  clear:清空输入框内容
browser.find_element_by_css_selector("#toolbar-search-input").clear()
browser.switch_to_window(browser.window_handles[1])
time.sleep(5)
for i in range(5):
    js = "document.documentElement.scrollTop=10000"
    browser.execute_script(js)
    time.sleep(2)
li_list=[]
li_list = browser.find_elements_by_xpath('//div[@class="so-items-normal"]/div[1]')
#print(li_list[0].text)
arr=[]
for i in li_list:
    e=i.text
    arr.append(e)
    print(i.text)
save_csv(arr)


结果:

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我啊困的唉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值