2018-01-18

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
import requests
from bs4 import BeautifulSoup
import csv
import ssl
import re
import time
from prettyprinter import cpprint

ssl._create_default_https_context = ssl._create_unverified_context

def get_newURL(surname):
    if __name__ == "__main__":
        options = Options()
        options.add_argument('-headless')
        global browser
        browser = webdriver.Firefox(executable_path=r"/Users/viemaxwei/Downloads/geckodriver", firefox_options=options)
        # browser = webdriver.Firefox(executable_path=r"/Users/viemaxwei/Downloads/geckodriver")
        browser.get('http://search.library.sh.cn/jiapu/bSearch.htm')
        input_str = browser.find_element_by_name('expr')
        input_str.send_keys(surname)
        browser.find_element_by_xpath("//*[@value='检索']").click()
        time.sleep(1.5)
        browser.switch_to.window(browser.window_handles[1])
        global newurl
        newurl = browser.current_url
        browser.quit()


def get_next_page(i, new_url):
    global url_new
    global browser_1
    try:
        if __name__ == "__main__":
            options = Options()
            options.add_argument('-headless')
            browser_1 = webdriver.Firefox(executable_path=r"/Users/viemaxwei/Downloads/geckodriver", firefox_options=options)
            # browser_1 = webdriver.Firefox(executable_path=r"/Users/viemaxwei/Downloads/geckodriver")
            browser_1.get(new_url)
            browser_1.find_element_by_xpath("//*[@value='下页']").click()
            browser_1.switch_to.window(browser_1.window_handles[0])
            url_new = browser_1.current_url
            i += 1
            print("检索第%d页的url" % i)
            single_url_collector(url_new)
            browser_1.quit()
            return get_next_page(i, url_new)
    except:
        browser_1.quit()
        print("<---检索完成--->")



with open("/Users/viemaxwei/Downloads/surname_1.csv", "rt") as sur:
    cin = csv.reader(sur)
    surname = [i for i in cin]
    surname_dict = dict(surname)

single_url_set = []
def single_url_collector(url):
    single_url_set.append(url)
    return single_url_set

total_url = {}
def get_single_url_set():
    for index in surname_dict:
        print("<---现在自动检索_" + surname_dict[index] + "氏_数据--->")
        print("检索第1页的url")
        get_newURL(surname_dict[index] + "氏")
        single_url_set.clear()
        single_url_set.append(newurl)
        get_next_page(1, newurl)
        url_set_copy = single_url_set.copy()
        total_url[surname_dict[index]] = url_set_copy

    # cpprint(total_url)
start = time.time()
get_single_url_set()
end = time.time()
time_total = (end - start)/60
print("====================")
print("全部完成!!! 共用时__%f__分钟" % (time_total))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 早上六点二十五起床,看了两页羊脂球,下楼跳绳五百下,感觉很精神,明天加油,继续。今天闹钟就来了,明天不用睁眼等天明了。
    高老庄的猪八戒阅读 108评论 0 0
  • 听一首歌,听到喜欢,还没长大。
    金真的真阅读 192评论 0 0
  • 小时候我不懂事,或多或少地以为轻生的人便是愚蠢之人。那时自以为是地想去劝说他们:你连死都不怕,为什么要害怕活着呢?...
    七千一阅读 192评论 0 0
  • 香味营销的效果集中体现在:香气对产品的品牌评估、品牌记忆以及广告效果等方面的影响。 第一,香气对产品和品牌评估的影...
    ECSCENT香氛阅读 495评论 0 0
  • 猫犬系这个形容,最早来自日本女孩对目标男友的划分,但在最近的警匪电影和职场,也常常见之以这种组合。 改编自中国心理...
    首席人才官阅读 230评论 0 0