爬取圣经demo

# coding=utf-8
from selenium import webdriver
import time


dr = webdriver.Chrome()
dr.maximize_window()
dr.get("http://www.godcom.net/hhb/")
dr.implicitly_wait(20)
fr_all = dr.find_element_by_name("I1")
dr.switch_to_frame(fr_all)
fr_1 = dr.find_element_by_name("map")
fr_2 = dr.find_element_by_name("bible")
dr.switch_to_frame(fr_1)
a = dr.find_elements_by_xpath("//table/tbody//a")
def test(value):
    for i in a:
        print(i.text)
        if i.text == value:
            i.click()
            time.sleep(1)
            dr.switch_to_default_content()
            dr.switch_to_frame(fr_all)
            dr.switch_to_frame(fr_2)
            juan_name = dr.find_element_by_xpath("//h2").text
            openfiles = open("E://"+juan_name+".txt", "a")
            openfiles.write(juan_name + "\n"*2)
            chapters = dr.find_elements_by_xpath("//body/table/tbody/tr/td[2]/a")
            def write_txt():
                time.sleep(1)
                zjs = dr.find_elements_by_xpath("//p/table/tbody//td[1]")
                zws = dr.find_elements_by_xpath("//p/table/tbody//td[2]")
                for zj in range(len(zjs)):
                    if zjs[zj].text != " ":
                        result_txt = zjs[zj].text + " " + zws[zj].text
                        openfiles.write(result_txt + "\n")
            for ch in range(len(chapters)+2):
                chapter_xpath = "//body/table/tbody/tr/td[2]/a[text()='%d']" %(ch)
                print(chapter_xpath)
                if ch == 1:
                    write_txt()
                if ch >=2:
                    dr.find_element_by_xpath(chapter_xpath).click()
                    write_txt()
            dr.switch_to_default_content()
            dr.switch_to_frame(fr_all)
            dr.switch_to_frame(fr_1)

with open("E://result/圣经目录.txt") as dujing:
    djlist = dujing.readlines()
for i in djlist:
    juan = i.strip("\n")
    test(juan)
time.sleep(10)
dr.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值