1. 程式人生 > >python爬蟲之雲片網國內簡訊介面爬取

python爬蟲之雲片網國內簡訊介面爬取

  1. 安裝requests,lxml,openpyxl,pandas四個包。
    requests爬取
    lxml解析
    panda轉換並儲存
    openpyxl是讀寫excel檔案所用到的包
  2. 程式碼奉上:
    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)
  3. 執行結果: