python爬蟲之雲片網國內簡訊介面爬取
阿新 • • 發佈:2018-12-15
- 安裝requests,lxml,openpyxl,pandas四個包。
requests爬取
lxml解析
panda轉換並儲存
openpyxl是讀寫excel檔案所用到的包 - 程式碼奉上:
import pandas as pandas import requests from lxml import etree URL = "https://www.yunpian.com/doc/zh_CN/domestic/list.html" # 獲取資源 def get_resource(url): return requests.get(url).content.decode('utf-8') # 解析資源 def analysis_resource(html_text): html = etree.HTML(html_text) ports = html.xpath('//*[@id="book-search-results"]/div[1]/section/table/tbody/tr/td[1]/a/text()') links = html.xpath('//*[@id="book-search-results"]/div[1]/section/table/tbody/tr/td[2]/code/text()') descs = html.xpath('//*[@id="book-search-results"]/div[1]/section/table/tbody/tr/td[3]/text()') return zip(ports, links, descs) # 儲存資源 def save_resource(zip_resource): params = [] for port, link, desc in zip_resource: param = { "port": port, "link": link, "desc": desc } params.append(param) df = pandas.DataFrame(params) df.to_excel("yun_pian_ports.xlsx") # 走起 if __name__ == "__main__": html_text = get_resource(URL) zip_resource = analysis_resource(html_text) save_resource(zip_resource)
- 執行結果: