【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址並寫入Excel中(2)
【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址並寫入Excel中(2)
第一篇( http://blog.itpub.net/26736162/viewspace-2286553/ )是將地址寫入了txt文字檔案中,這篇部落格將爬取到的結果寫入Excel表格中。
爬取到的結果:
Python爬取的原始碼:
import requests import re import xlwt url = 'http://blog.itpub.net/26736162/list/%d/' pattern = re.compile(r'<a target=_blank href="(.*?)" class="w750"><p class="title">(.*?)</p></a>') # pattern=re.compile(r'<a target=_blank href="(.*?)" class="w750"><p class="title">') # ret=pattern.findall(data) # print(''.join(ret)) # def write2file(items): # with open('./download/lhrbest_itpub_link_title.txt','a',encoding='utf-8') as fp: # for item in items: # item=item[::-1] # s=':'.join(item) # # print('----',len(items)) # fp.write(s+'\n') # # fp.write('---------------------------------------------------------------\n') # pass def set_style(name, height,colour_index,horz=xlwt.Alignment.HORZ_LEFT,bold=False): style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 為樣式建立字型 font.name = name font.bold = bold font.colour_index = colour_index # 1白2紅3綠4藍5黃 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan font.height = height #0x190是16進位制,換成10進製為400,然後除以20,就得到字型的大小為20 style.font = font # 設定單元格對齊方式 alignment = xlwt.Alignment() # 建立alignment alignment.horz = horz # 設定水平對齊為居中,May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED alignment.vert = xlwt.Alignment.VERT_CENTER # 設定垂直對齊為居中,May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED style.alignment = alignment # 應用alignment到style3上 # 設定單元格邊框 borders = xlwt.Borders() # 建立borders borders.left = xlwt.Borders.DASHED # 設定左邊框的型別為虛線 May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D. borders.right = xlwt.Borders.THIN # 設定右邊框的型別為細線 borders.top = xlwt.Borders.THIN # 設定上邊框的型別為打點的 borders.bottom = xlwt.Borders.THIN # 設定底部邊框型別為粗線 borders.left_colour = 0x10 # 設定左邊框線條顏色 borders.right_colour = 0x20 borders.top_colour = 0x30 borders.bottom_colour = 0x40 style.borders = borders # 將borders應用到style1上 return style def init_excel(): f = xlwt.Workbook(encoding='gbk') # 建立工作薄 # 建立個人資訊表 sheet1 = f.add_sheet(u'小麥苗itpub部落格連結地址', cell_overwrite_ok=True) sheet1.col(0).width = 256 * 50 sheet1.col(1).width = 256 * 50 rowTitle = [u'部落格文章標題', u'連結地址'] # rowDatas = [[u'張一', u'男', u'18'], [u'李二', u'女', u'20'], [u'黃三', u'男', u'38'], [u'劉四', u'男', u'88']] for i in range(0, len(rowTitle)): sheet1.write(0, i, rowTitle[i], set_style('Courier New', 220, 2, xlwt.Alignment.HORZ_CENTER, True)) # 後面是設定樣式 f.save('./download/excel_write_base.xlsx') return f,sheet1 # 寫excel def write_excel(rowDatas,f,rowIndex): f_excel=f[0] f_sheet=f[1] rowIndex= rowIndex if rowIndex == 0 else rowIndex*20 for k in range(0, len(rowDatas)): # 先遍歷外層的集合,即每行資料 for j in range(0, len(rowDatas[k])): # 再遍歷內層集合 if j == 1: # 寫入資料,k+1表示先去掉標題行,另外每一行資料也會變化,j正好表示第一列資料的變化,rowdatas[k][j] 插入資料 f_sheet.write(k +rowIndex+ 1, j, xlwt.Formula('HYPERLINK("%s","%s")' % (rowDatas[k][::-1][j], rowDatas[k][::-1][j])),set_style('Courier New', 180,4)) else: f_sheet.write(k +rowIndex+ 1, j, rowDatas[k][::-1][j],set_style('Courier New', 180,0)) f_excel.save('./download/excel_write_base.xlsx') headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36'} def loadHtml(page): if page >= 1: f=init_excel() #初始化一個Excel工作簿,包括sheet for p in range(1, page + 1): url_itpub = url % (p) print(url_itpub) response = requests.get(url=url_itpub, headers=headers) response.encoding = 'utf-8' content = response.text # print(content) # Ctrl + Alt + V:提取變數 items = pattern.findall(content) # print(items) # write2file(items) write_excel(items,f,p-1) pass else: print('請輸入數字!!!') pass if __name__ == '__main__': page = int(input('請輸入需要爬取多少頁:')) loadHtml(page)
About Me
........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ● 本文在itpub( http://blog.itpub.net/26736162 )、部落格園( http://www.cnblogs.com/lhrbest )和個人weixin公眾號( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文部落格園地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA寶典今日頭條號地址: ........................................................................................................................ ● QQ群號: 230161599 (滿) 、618766405 ● weixin群:可加我weixin,我拉大家進群,非誠勿擾 ● 聯絡我請加QQ好友 ( 646634621 ) ,註明新增緣由 ● 於 2018-12-01 06:00 ~ 2018-12-31 24:00 在魔都完成 ● 最新修改時間:2018-12-01 06:00 ~ 2018-12-31 24:00 ● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店 : ● 小麥苗出版的資料庫類叢書 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用網路班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麥苗騰訊課堂主頁 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客戶端 掃描下面的二維碼來關注小麥苗的weixin公眾號( xiaomaimiaolhr )及QQ群(DBA寶典)、新增小麥苗weixin, 學習最實用的資料庫技術。
........................................................................................................................ |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2286652/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址(1)爬蟲Python
- [python 爬蟲]第一個Python爬蟲,爬取某個新浪部落格所有文章並儲存為doc文件Python爬蟲
- python爬蟲爬取csdn部落格專家所有部落格內容Python爬蟲
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- python 爬蟲 爬取 learnku 精華文章Python爬蟲
- 新手爬蟲教程:Python爬取知乎文章中的圖片爬蟲Python
- 01、部落格爬蟲爬蟲
- [雪峰磁針石部落格]python爬蟲cookbook1爬蟲入門Python爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 爬蟲爬取微信小程式爬蟲微信小程式
- 利用Python爬蟲爬取天氣資料Python爬蟲
- PHP 爬蟲爬取社群文章內容PHP爬蟲
- Python爬蟲入門(2):爬蟲基礎瞭解Python爬蟲
- 利用python編寫爬蟲爬取淘寶奶粉部分資料.1Python爬蟲
- Python爬蟲之路-chrome在爬蟲中的使用Python爬蟲Chrome
- 輕鬆利用Python爬蟲爬取你想要的資料Python爬蟲
- Python爬蟲新手教程: 知乎文章圖片爬取器Python爬蟲
- 爬蟲 Scrapy框架 爬取圖蟲圖片並下載爬蟲框架
- Python爬蟲入門教程 50-100 Python3爬蟲爬取VIP視訊-Python爬蟲6操作Python爬蟲
- Python爬蟲之路-selenium在爬蟲中的使用Python爬蟲
- 【python爬蟲】python爬蟲demoPython爬蟲
- python爬蟲——爬取大學排名資訊Python爬蟲
- 網路爬蟲——專案實戰(爬取糗事百科所有文章)爬蟲
- Python爬蟲入門【5】:27270圖片爬取Python爬蟲
- 爬蟲作業03-爬取解密大資料專欄下的所有文章爬蟲解密大資料
- python爬蟲2Python爬蟲
- Python爬蟲--2Python爬蟲
- Python3 大型網路爬蟲實戰 002 --- scrapy 爬蟲專案的建立及爬蟲的建立 --- 例項:爬取百度標題和CSDN部落格Python爬蟲
- Python爬蟲教程-13-爬蟲使用cookie爬取登入後的頁面(人人網)(下)Python爬蟲Cookie
- Python爬蟲教程-12-爬蟲使用cookie爬取登入後的頁面(人人網)(上)Python爬蟲Cookie
- 【爬蟲】python爬蟲從入門到放棄爬蟲Python
- Python爬蟲入門【9】:圖蟲網多執行緒爬取Python爬蟲執行緒
- Java爬蟲與Python爬蟲的區別?Java爬蟲Python
- python爬蟲的最佳實踐(六)--爬蟲中的多程式Python爬蟲
- 爬蟲的小技巧之–如何尋找爬蟲入口爬蟲
- 2個月精通Python爬蟲——3大爬蟲框架+6場實戰+反爬蟲技巧+分散式爬蟲Python爬蟲框架分散式
- [python爬蟲] 正規表示式使用技巧及爬取個人部落格例項Python爬蟲
- 爬蟲2爬蟲