python豆弁トップ200書籍情報を入手
7063 ワード
import requests
import re
import json
import pymysql
import userAgents
from requests.exceptions import ReadTimeout
from requests.exceptions import HTTPError
from requests.exceptions import RequestException
from requests.exceptions import ConnectionError
from multiprocessing import Pool
#
def get_one_page(url):
try:
#UserAgent:
# UA, , ,
# ( 、CPU 、 、 、 、 )。
# : ,
response = requests.get(url,headers=userAgents.pcUserAgent.get("Firefox 4.0.1 – Windows"))
#print(response.encoding)
#
if response.status_code == requests.codes.ok:
html = response.text
return html
return None
except ReadTimeout:
print("ReadTimeout")
except HTTPError:
print("Http error")
except ConnectionError:
print("Connection error")
except RequestException:
print("Error")
tempSave = ""
#
def _prase_one_page(html):
try:
pattern = re.compile('.*?.*?(.*?).*?(.*?).*?(.*?).*?..(.*?) .*?.*?(.*?).*?',re.S)
items = re.findall(pattern,html)
#print(items)
for item in items:
for i in range(0,len(item[1])):
if item[1][i] == '
':
tempSave = item[1][0:i]
elif item[1][i] == ':':
tempSave = tempSave + item[1][i:]
if len(tempSave) > 0:
for j in range(0,len(tempSave)):
if tempSave[j] == '
userAgents.py
#userAgent , HTTP 。
pcUserAgent = {
"safari 5.1 – MAC":{"User-Agent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"},
"safari 5.1 – Windows":{"User-Agent":"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"},
"IE 9.0":{"User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0);"},
"IE 8.0":{"User-Agent":"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"},
"IE 7.0":{"User-Agent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"},
"IE 6.0":{"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"},
"Firefox 4.0.1 – MAC":{"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"},
"Firefox 4.0.1 – Windows":{"User-Agent":"Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"},
"Opera 11.11 – MAC":{"User-Agent":"Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11"},
"Opera 11.11 – Windows":{"User-Agent":"Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11"},
"Chrome 17.0 – MAC":{"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"},
"Maxthon":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"},
"Tencent TT":{"User-Agent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)"},
"The World 2.x":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"},
"The World 3.x":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)"},
"sogou 1.x":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)"},
"360":{"User-Agent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)"},
"Avant":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)"},
"Green Browser":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"}
}
mobileUserAgent = {
"iOS 4.33 – iPhone":{"User-Agent":"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5"},
"iOS 4.33 – iPod Touch":{"User-Agent":"Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5"},
"iOS 4.33 – iPad":{"User-Agent":"Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5"},
"Android N1":{"User-Agent":" Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"},
"Android QQ":{"User-Agent":" MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"},
"Android Opera ":{"User-Agent":" Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10"},
"Android Pad Moto Xoom":{"User-Agent":" Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"},
"BlackBerry":{"User-Agent":"Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.337 Mobile Safari/534.1+"},
"WebOS HP Touchpad":{"User-Agent":" Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0"},
"Nokia N97":{"User-Agent":"Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124"},
"Windows Phone Mango":{"User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)"},
"UC":{"User-Agent":"UCWEB7.0.2.37/28/999"},
"UC standard":{"User-Agent":"NOKIA5700/ UCWEB7.0.2.37/28/999"},
"UCOpenwave":{"User-Agent":" Openwave/ UCWEB7.0.2.37/28/999"},
"UC Opera":{"User-Agent":" Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999"}
}
上のコードは異常を投げ出して正しく書かれていません.コードを使うときは訂正してください.