• python爬虫模板和网页表格生成表格文件


    python爬虫模板

    首先我们先把网页内容保存下来,之后我们对网页内容进行分析,找到我们想要的,以小米商城官网为例
    import urllib3

    #首先我们先把网页内容保存下来,之后我们对网页内容进行分析,找到我们想要的
    def download_content(url):
    res = urllib3.PoolManager().request(‘GET’, url).data.decode()
    return res

    def save_to_file(filename, content):
    file = open(filename, ‘w’, encoding=‘utf-8’)
    file.write(content)
    file.close()

    url = ‘https://www.mi.com/’
    res = download_content(url)
    save_to_file(‘tips1.html’, res)

    import urllib3
    
    #首先我们先把网页内容保存下来,之后我们对网页内容进行分析,找到我们想要的
    def download_content(url):
        res = urllib3.PoolManager().request('GET', url).data.decode()
        return res
    
    def save_to_file(filename, content):
        file = open(filename, 'w', encoding='utf-8')
        file.write(content)
        file.close()
    
    url = 'https://www.mi.com/'
    res = download_content(url)
    save_to_file('tips1.html', res)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    如图我们将对应的文件保存下来,命名为tips1.html,假设我们要爬取的内容为首页红框中的文字和链接,假设我们只要第二个小米影像
    在这里插入图片描述
    代码如下

    import bs4
    
    # 输入参数为要分析的 html 文件名,返回值为对应的 BeautifulSoup 对象
    def create_doc_from_filename(filename):
        fo = open(filename, "r", encoding='utf-8')
        html_content = fo.read()
        fo.close()
        doc = bs4.BeautifulSoup(html_content, "lxml")
        return doc
    
    
    def parse(doc):
        post_list = doc.find_all("div", class_="home-page")
        for post in post_list:
            link = post.find_all("a")[2]
            print(link)
            print(link.text.strip())
            print(link["href"])
    
    def main():
    
        doc = create_doc_from_filename("tips1.html")
        #print(doc)
        parse(doc)
    if __name__ == '__main__':
        main()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    运行之后发现正是我们想要的
    在这里插入图片描述
    在这里doc.find_all(“div”, class_=“home-page”)的含义就是首先找到所有 class 属性是 home-page的 div 标签,然后将这些标签中的 a 标签的文本部分提取出来

    两个代码块是两个文件,第二个文件的html文件是从第一个文件获取的,当然我们也可以写在一起,这也是没有问题的,我个人的目录如下,比较随意
    在这里插入图片描述

    python网页表格生成表格文件

    研究了下别人的例子,发现只有是table标签才能够很快转换,而且整个数据都需要table标签里面
    比如这个地址:https://fx.cmbchina.com/Hq/
    在这里插入图片描述
    标签形式如下
    在这里插入图片描述
    直接上代码吧

    import urllib3
    import pandas as pd
    
    #首先我们先把网页内容保存下来,之后我们对网页内容进行分析,找到我们想要的
    def download_content(url):
        res = urllib3.PoolManager().request('GET', url).data.decode()
        return res
    
    res = download_content('https://fx.cmbchina.com/Hq/')
    print(res)
    file = pd.read_html(res)
    print('---------')
    print(file)
    file[1].to_excel('tips_file.xlsx')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    不过在这个过程中会报好几个库不存在,直接pip安装就可以了
    执行后生成结果如下
    在这里插入图片描述

  • 相关阅读:
    keepAlive
    pear admin 新增模块流程
    搬砖日记:关于html的编写规范方式
    Nosql的redis概述及基本操作
    【洛谷 P1518】[USACO2.4] 两只塔姆沃斯牛 The Tamworth Two 题解(模拟+循环)
    【Linux】进程
    yarn启动项目的命令
    Simple QML Tutorial[来自官档]
    吴恩达机器学习笔记(一)
    Android Studio 中AGP ,Gradle ,JDK,SDK都是什么?
  • 原文地址:https://blog.csdn.net/qq_41780297/article/details/126201727