利用python+selenium爬取derwent数据库上的patents

利用python+selenium爬取derwent数据库上的patents

需求:
登陆web of science,并进入derwent数据库,按照公司excel列表依次进行搜索,并将所有搜索道德记录下载至本地指定路径。

思路:和爬取cortellis的步骤基本相近,也是利用selenium模拟浏览器,主要涉及的模拟有:下拉菜单、按钮、input框,总体上讲并不复杂。
然而需要注意的是,derwent搜索结果如果为0,它会返回一个错误页面,当出现这种情况可以用一个try-except抓出来,再用selenium执行一次刷新即可。

缺点是大量的使用了try-except,也没有太好的解决方法,这个数据库的随机性实在是太大。

下面是代码:

from selenium import webdriver
import sys,io
from selenium.webdriver.common.by import By
import time
import xlrd
import json
import re,os
import requests
from selenium.webdriver.support.ui import Select
from openpyxl import Workbook
import pickle


def read_company(fileName):
    bk=xlrd.open_workbook(fileName)
    shxrange=range(bk.nsheets)
    try:
        sh=bk.sheet_by_name("Sheet1")
    except:
        print ("代码出错")
    book = Workbook(encoding='utf-8')
    UPC = []
    tmp1 = sh.col_values(0)[1:]  #company
    return tmp1
#获取当前页面的cookie
def get_current_cookie():
	cookie = browser.get_cookies()
	jsonCookies = json.dumps(cookie)
	#拼接
	cookie_current = [item['name'] + '=' + item['value'] for item in cookie]
	#这里注意每一个字段之间要有"; "分隔,否则无效
	cookiestr = '; '.join(item 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值