python selenium 爬虫 (一)

海关总署网站新闻:http://www.customs.gov.cn/customs/xwfb34/302425/3049105/index.html
采用python的requests抓取时网页返回412,各种尝试均未能解决问题。改用selenium尝试能否爬取。

  1. chrome浏览器,chrome://version,查看浏览器版本

  2. chromedriver,驱动器,二者版本需保持一致
    dirver的下载地址如下:http://chromedriver.storage.googleapis.com/index.html

  3. 驱动下载后可以与python.exe放在同一目录下,或者在代码中指定路径

browser = webdriver.Chrome(executable_path="XXXXXXXXXX",chrome_options=chrome_options)

遇到的问题

  1. chrome浏览器为83版本时,selenium打开的海关网页呈一片空白,但是打开其它网站均ok
  2. 改用57版的chrome浏览器,ok

可行的解决方案

如果不降低最新版的chrome,可采用等待网页跳转响应的办法打开,通过的原理未知,可以试一下,
http://mogicwula.com/2020/03/23/%E7%88%AC%E5%8F%96%E6%AD%A6%E6%B1%89%E7%96%AB%E6%83%85%E6%95%B0%E6%8D%AE412%E7%8A%B6%E6%80%81%E7%A0%81%E8%A7%A3%E5%86%B3/

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import selenium.webdriver.support.ui as ui

def is_visible(locator, timeout=10):
    try:
        ui.WebDriverWait(browser, timeout).until(EC.visibility_of_element_located((By.XPATH, locator)))
        return True
    except TimeoutException:
        return False
 
browser.get("XXXXXXXXXXXXXXXXXXXX")
is_visible('/html/body/div[2]/div[2]/div[1]')
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读