Python爬虫爬取部分学校的新闻标题、时间、对应的新闻链接
生活随笔
收集整理的這篇文章主要介紹了
Python爬虫爬取部分学校的新闻标题、时间、对应的新闻链接
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 使用工具
- 準備步驟
- 1. Anaconda Navigator
- 2. 安裝chrome_Xpath_v2.0.2
- 3. 使用chrome_Xpath_v2.0.2
- 環境搭建
- 代碼示例
- 效果展示
使用工具
PyCharm 2018.2.3
Anaconda Navigator
Python 3.6
谷歌瀏覽器插件:chrome_Xpath_v2.0.2
微云下載鏈接:https://share.weiyun.com/5iE161Y
準備步驟
1. Anaconda Navigator
打開Anaconda Navigator,創建一個Python 3.6的運行環境
在 Anaconda Navigator中安裝 對應的Python庫
要 安裝 gevent庫、 xlwt庫、 etree庫、requests庫
以下是安裝庫的方法。
安裝成功
如果需要使用命令行進行安裝
選擇Open Terminal
安裝方法:pip3 install 模塊名
2. 安裝chrome_Xpath_v2.0.2
打開谷歌瀏覽器 找到自定義及控制
選擇擴展程序
安裝完成
3. 使用chrome_Xpath_v2.0.2
使用F12,打開 谷歌瀏覽器 開發者工具
選擇:Copy XPath
環境搭建
打開PyCharm
代碼示例
#_*_coding:utf-8_*_ # @Author: VVcat # @Time: 2019/9/27 18:54 # @File: Main.py # @IDE: PyCharm # @Email: 206647497@qq.com # @Version: 1.0import gevent import xlwt as xlwt from lxml import etree import requestsdef school():xls = xlwt.Workbook(encoding='utf-8') # 創建一個工作簿,括號中為編碼方式# 創建sheet表# 括號中cell_overwrite_ok=True是為了可以讓用戶在同一單元格重復寫內容,但只保留生效最后一次寫入sheet = xls.add_sheet("school", cell_overwrite_ok=True)row = 0for index in range(1, 330): # 頁面有329頁if index == 1:url = "http://www.zjitc.net/xwzx/xyxw.htm" # 第一頁的鏈接else:url = "http://www.zjitc.net/xwzx/xyxw/" + str(index - 1) + ".htm" # 第一頁之后的鏈接req = requests.get(url) # 請求獲取頁面HTML代碼resp = req.content.decode("utf-8") # 設置頁面編碼格式為utf-8html = etree.HTML(resp) # 構造了一個XPath解析對象并對HTML文本進行自動修正。uls = html.xpath("/html/body/div[3]/div[8]/div[2]/div/ul/li/a/div[2]/div") # 對內容進行定位,獲取所有的 內容存放在 list集合里for ul in uls: # 對集合進行遍歷title = ul.xpath("h3") # 獲取標題url = str(title[0].xpath("../../../@href")[0]) # 獲取新聞鏈接url = url.replace("../..", "http://www.zjitc.net") # 對新聞鏈接進行分割拼接day = ul.xpath("../../div[1]/i") # 獲取天數month = ul.xpath("../../div[1]/em") # 獲取月份sheet.write(row, 0, title[0].text) # 將標題寫入excelsheet.write(row, 1, month[0].text + day[0].text + "日") # 將日期寫入excelsheet.write(row, 2, url) # 將鏈接寫入excelrow += 1xls.save("school.xls") # 為excel文件命名if __name__ == '__main__':school = gevent.spawn(school) # 將函數放入到python協程中school.join() # 開啟協程效果展示
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Python爬虫爬取部分学校的新闻标题、时间、对应的新闻链接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Notepad++的使用
- 下一篇: MySQL的常用语法