栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python(基于selenium爬虫)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python(基于selenium爬虫)

Selenium(web自动化工具),也可用来爬虫,效率会比requests慢,对于某些网站有反爬机制可以使用此方法。

导入selenium,sleep(间隔时间),csv(数据存储)模块,没有可以进行下载

定义方法writecsv,把爬取数据存储为 CSV文件 

谷歌浏览器驱动,下载与浏览器相同版本

链接:CNPM Binaries Mirror

 

windows只有32位 

下载驱动解压文件位置

网站链接

for循环抓取多少条数据(自己视情况而定) ,+str(i)+字符串拼接,用于循环

某些网站在列表点击之后会进入详情页(招工网站为例),会打开一个新的页面,需要用此方法,当前页面跳转可以不用

 

通过Xpath定位,爬取需要数据(注:爬取数据为文本格式,需要在xpath后面加text)

最后存放在一个列表里面

 调用writecsv方法,存放数据

下面为完整代码:

# -*- coding:utf-8 -*-
from selenium import webdriver
from time import sleep
import csv


def writecsv(item):
    with open('2022.03.07.csv', 'a', encoding='utf-8', newline='') as f:
        wir = csv.writer(f)
        try:
            wir.writerow(item)
        except:
            print('error')


driver = webdriver.Chrome(r'E:Googlechromedriver.exe')

driver.get('http://www.xintairencai.com/index.asp')
sleep(1)
for i in range(1, 61):
    driver.get('http://www.xintairencai.com/Recruit/index.html')
    sleep(1)
    try:
        # 发布时间
        sj = driver.find_element_by_xpath('//*[@id="recruit_list"]/li[1]/div[6]').text

        # 点击详情页
        driver.find_element_by_xpath('//*[@id="recruit_list"]/li[' + str(i) + ']/div[2]/a').click()
        sleep(1)

        # 操作新窗口
        windows = driver.window_handles
        driver.switch_to.window(windows[-1])
        sleep(1)

        # 标题
        bt = driver.find_element_by_xpath(
            '/html/body/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td[3]/div/table/tbody/tr[3]/td/div/table/tbody/tr[1]/td[2]/font')

        gz = driver.find_element_by_xpath(
            '/html/body/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td[3]/div/table/tbody/tr[3]/td/div/table/tbody/tr[10]/td[2]/font').text
        # 招工信息
        xx = driver.find_element_by_xpath(
            '/html/body/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td[3]/div/table/tbody/tr[3]/td/div/table/tbody/tr[13]/td[2]/font')

        # 工作所在地
        sheng1 = '山东省'
        # 市
        shi = '新泰市'
        # 县
        xian = '无'
        # 详细地址
        xxdz = driver.find_element_by_xpath(
            '/html/body/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td[3]/div/table/tbody/tr[5]/td/div/table/tbody/tr[2]/td[2]/span').text

        # 姓名
        xm = driver.find_element_by_xpath(
            '/html/body/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td[3]/div/table/tbody/tr[5]/td/div/table/tbody/tr[5]/td[4]/span')
        # 电话
        dh = driver.find_element_by_xpath(
            '/html/body/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td[3]/div/table/tbody/tr[5]/td/div/table/tbody/tr[3]/td[2]/span')

        list_1 = [bt.text, gz, xx.text, sj, xm.text, dh.text, sheng1, shi, xian, xxdz]
        print(list_1)
        writecsv(list_1)
    except:
        print('error')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756978.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号