python+selenium笔记之抓取网站数据分析并写入excel生成图表

本文介绍了如何使用Python结合Selenium抓取网站数据,将数据存储为TXT文件,然后读取分析数据,进一步将结果写入Excel并生成图表。在创建Excel工作表时需注意避免使用`add_chartsheet()`,因为这会导致打开时出现内容错误。务必确保调用`workbook.close()`来正确关闭文件,否则可能会遇到文件创建失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里把抓取数据和分析数据写在了两个py文件中。
先写了抓取数据写入到一个txt中

import re
import time

from selenium import webdriver

driver = webdriver.Chrome(r'D:\chromedriver.exe')
driver.implicitly_wait(10)

driver.get('https://www.51job.com/')

driver.find_element_by_id('kwdselectid').send_keys('自动化测试')

driver.find_element_by_id('work_position_click').click()

#取消选中的地区
eles = driver.find_elements_by_css_selector('#work_position_click_center_right_list_000000 [class="on"]')
for ele in eles:
    time.sleep(2)
    ele.click()

#选择北京
driver.find_element_by_id('work_position_click_center_right_list_category_000000_010000').click()
#点确定
driver.find_element_by_id('work_position_click_bottom_save').click()

#点击搜索按钮。表达式中有双引号和单引号,所以表达式外面用三引号
driver.find_element_by_css_selector('''[οnclick="kwdGoSearch($('#kwdselectid').val());"]''').click()

#获取页数
pageMsg = driver.find_element_by_css_selector('#hidTotalPage+[class="td"]').text
totalPage = int(re.findall('[0-9]+', pageMsg)[0])

#取出所有的职位信息
salaries = []
for page in range(totalPage):
    time.sleep(2)
    jobs = driver.find_elements_by_css_selector('#resultList>[class="el"]')
    for job in jobs:
        #job.text.split('\n')是个列表
        # print(job.text.split('\n')[3])
        salaries.append(job.text.split('\n')[3])
    if page < totalPage-1:
        driver.find_element_by_css_selector('.p_in li:nth-last-child(1)').click()

time.sleep(2)
driver.quit()

file = open('salary_data.txt', 'w+')
file.write('\n'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值