• 爬取*中奖信息


    (1) http://www.zhcw.com/ssq/kaijiangshuju/index.shtml?type=0,打开此网址,并通过浏览器中“检查”选项发现此网页数据来源规律;

     (2)发现他的这些信息都存在标签<tr>中

     (3)代码展示:

    爬取 1-5 页的中所有中奖的<开奖时间>、<期号>、<中奖号 码>、<销售额>、 <一等奖>、 <二等奖>信息存储至 CSV 文件。

     #将信息爬取出来并存在列表中
    form = []
    for i in range(1,5):
        url1 = "http://kaijiang.zhcw.com/zhcw/html/ssq/list_%s.html" %(i)
        html1 = requests.get(url1).text
        soup = BeautifulSoup(html1, 'html.parser')
        tag = soup.find_all('tr')
        # print(tag)
        for a in tag[2:len(tag) - 1]:
            temp = []
            for b in a.contents[0:12]:
                if (b != '
    '):
                    temp += [b.text.strip().replace('
    ', '').replace(' ', '').replace('
    ', ' ')]
            form.append(temp)

    存到csv中:

    with open('双色球中奖信息.csv','w',newline='',encoding='utf-8') as f:
        writer = csv.writer(f)
        writer.writerow(['开奖日期', '期号', '中奖号码', '销售额(元)', '一等奖', '二等奖'])
        for a in form:
            print(a)
            writer.writerow(a)

    运行结果:

     总结:

    推荐使用lxml解析库,必要时使用html.parser
    标签选择筛选功能弱但是速度快
    建议使用find()、find_all() 查询匹配单个结果或者多个结果
    如果对CSS选择器熟悉建议使用select()
    记住常用的获取属性和文本值的方法

  • 相关阅读:
    C++ STL之vector详解
    Two Sum
    The Skyline Problem
    C++ 排序函数 sort(),qsort()的用法
    GO语言为结构体排序
    php将数组或字符串写入文件
    [Zabbix] 怎样实现邮件报警通知以及免费短信报警通知
    js 图片轮转
    ios学习之旅------玩转结构体
    You have ettempted to queue to many files.You may select one files.
  • 原文地址:https://www.cnblogs.com/wt714/p/12003239.html
Copyright © 2020-2023  润新知