1. 程式人生 > >python 爬蟲爬取 證券之星網站

python 爬蟲爬取 證券之星網站

爬蟲

周末無聊,找點樂子。。。

#coding:utf-8
import requests
from bs4 import BeautifulSoup
import random
import time

#抓取所需內容
user_agent = ["Mozilla/5.0 (Windows NT 10.0; WOW64)", ‘Mozilla/5.0 (Windows NT 6.3; WOW64)‘,
              ‘Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11‘,
              ‘Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko‘,
              ‘Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36‘,
              ‘Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; rv:11.0) like Gecko)‘,
              ‘Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1‘,
              ‘Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3‘,
              ‘Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12‘,
              ‘Opera/9.27 (Windows NT 5.2; U; zh-cn)‘,
              ‘Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0‘,
              ‘Opera/8.0 (Macintosh; PPC Mac OS X; U; en)‘,
              ‘Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6‘,
              ‘Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)‘,
              ‘Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)‘,
              ‘Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)‘,
              ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.6.2000 Chrome/26.0.1410.43 Safari/537.1 ‘,
              ‘Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; QQBrowser/7.3.9825.400)‘,
              ‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 ‘,
              ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.92 Safari/537.1 LBBROWSER‘,
              ‘Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; BIDUBrowser 2.x)‘,
              ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/3.0 Safari/536.11‘]
moduledic={‘ranklist_a‘:111,‘ranklist_b‘:4,}
for module in moduledic:
    for page in range(1,moduledic[module]):
        url=‘http://quote.stockstar.com/stock/‘+str(module)+‘_3_1_‘+str(page)+‘.html‘
        try:
            global response       
            response=requests.post(url, headers={"User-Agent":random.choice(user_agent)}) #定制請求頭
        except :
            print "繼續"
        response.encoding = ‘gb2312‘
        html = response.text 
        soup = BeautifulSoup(html, ‘lxml‘)
        time.sleep(random.randrange(1,2))        #每抓一頁隨機休眠幾秒,數值可根據實際情況改動
        datalist=[]
        for i in  soup.find_all(‘tr‘):
            for j in i.find_all(‘td‘):
               datalist.append(j.string)
            try:
                data = datalist[0] + "     " + datalist[1] +"    " + datalist[2] + "    " + datalist[3] +"    " + datalist[4] + "    " + datalist[5] +"    " + datalist[6] +"    " + datalist[7]+ "    " + datalist[8] +"    " + datalist[9] +"    " + datalist[10] + "    " + datalist[11]
                print data
            except:
                continue
            datalist=[]

部分截圖:

技術分享

本來想存到數據庫中的,後面用來做數據分析用,突然沒興趣就先這樣吧。

只想說:大部分網站反爬蟲策略基本上沒做,如果我想的話,可能也就一兩天 可以把整個網站爬下來,上面的也就用了半個小時吧。 數據不就是錢嗎? 完全爬下來 不就相當於間接脫庫嘛?

本文出自 “付煒超” 博客,請務必保留此出處http://9399369.blog.51cto.com/9389369/1954076

python 爬蟲爬取 證券之星網站