私はDebian上のPython 2.7でいくつかのWebサイトを廃棄していますが、コードが自動的に停止することがあります(フリーズすることができない場合やインターネット接続がない場合)。ウェブサイトを自動的に開くときに接続エラーを回避するにはどうすればよいですか?
解決方法はありますか?問題をスキップして、次のURLにコードを実行してください。ので、私はこのような問題を取得する場合、このスクリプトはちょうど自動的に停止...
ここに私のコード:
#!/usr/bin/python
#!/bin/sh
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
from selenium import webdriver
import urllib2
import subprocess
import unicodecsv as csv
import os
import sys
import io
import time
import datetime
import pandas as pd
import MySQLdb
import re
import contextlib
import selenium.webdriver.support.ui as ui
import numpy as np
from datetime import datetime, timedelta
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pyautogui
from pykeyboard import PyKeyboard
reload(sys)
sys.setdefaultencoding('utf-8')
cols = ['MYCOLS..']
browser = webdriver.Firefox()
datatable=[]
browser.get('LINK1')
time.sleep(5)
browser.find_element_by_xpath('//button[contains(text(), "CLICK EVENT")]').click()
time.sleep(5)
browser.find_element_by_xpath('//button[contains(text(), "CLICK EVENT")]').click()
html = browser.page_source
soup=BeautifulSoup(html,"html.parser")
table = soup.find('table', { "class" : "table table-condensed table-hover data-table m-n-t-15" })
for record in table.find_all('tr', class_="hidden-xs hidden-sm ng-scope"):
for data in record.find_all("td"):
temp_data.append(data.text.encode('utf-8'))
newlist = filter(None, temp_data)
datatable.append(newlist)
time.sleep(10)
browser.close()
#HERE I INSERT MY DATAES INTO MYSQL..IT IS NOT IMPORTANT, AND MY SECOND LINK STARTING HERE
browser = webdriver.Firefox()
datatable=[]
browser.get('LINK2')
browser.find_element_by_xpath('//button[contains(text(), "LCLICK EVENT")]').click()
time.sleep(5)
html = browser.page_source
soup=BeautifulSoup(html,"html.parser")
table = soup.find('table', { "class" : "table table-condensed table-hover data-table m-n-t-15" })
for record in table.find_all('tr', class_="hidden-xs hidden-sm ng-scope"):
for data in record.find_all("td"):
temp_data.append(data.text.encode('utf-8'))
newlist = filter(None, temp_data)
datatable.append(newlist)
time.sleep(10)
browser.close()
#MYSQLDB PART AGAIN...AND THE NEXT LINK IS COMING.
1 EDIT:
スクリプトは、このクリックイベントがあまりにも停止見つけることができません。どうして?どうすればこれを避けることができますか?
二つのこと、1スタックオーバーフローに –
ようこそ取り扱いあなたのコードモデラー1.使用例外を作ります!参照:[Xを行うには?](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-for-how-do-i-do-x )SOに関する期待は、質問をするユーザーが自分の質問に答えるだけでなく、その研究、コードの試行、結果を共有することです。これは、時間をかけて自分自身を助けようとしていることを示しています。明白な回答を繰り返さないようにしてくれています。そして、より具体的で適切な答えを得ることができます。他にも:[ask] – JeffC