• 第四周总结


      本周要求实现爬取网页数据,一开始打算用java实现,发现实在写不通便选择学习爬取数据常用语言——python。

      

     1 import requests
     2 from bs4 import BeautifulSoup
     3 import re
     4 import pymysql
     5 import json
     6 import datetime
     7 #记录执行次数
     8 num=0
     9 #向数据库写入数据
    10 def insertdata(data,n):
    11     conn=pymysql.connect("localhost","root","Inazuma","paqu",charset='utf8')
    12     cur=conn.cursor()
    13     sql="INSERT INTO yiqing(Date,Province,City,Confirmed,Cured,Dead) VALUES(%s,%s,%s,%s,%s,%s)"
    14     try:
    15         cur.execute(sql,data)
    16         conn.commit()
    17         print(n)
    18     except:
    19         conn.rollback()
    20         print("ERROR")
    21     conn.close()
    22 #所要爬取的网站的地址
    23 url = 'https://raw.githubusercontent.com/BlankerL/DXY-2019-nCoV-Data/master/json/DXYArea.json'
    24 #调用requests.get()方法
    25 response = requests.get(url)
    26 #转换为文本
    27 version = response.text
    28 #提取其中的json数据
    29 jsonData = json.loads(version)
    30 #根据数据进行筛选写入
    31 for i in range(len(jsonData['results'])):
    32     if(jsonData['results'][i]['countryName']=='中国'):
    33         province = jsonData['results'][i]['provinceName']
    34         for j in range(len(jsonData['results'][i]['cities'])):
    35             confirmed=jsonData['results'][i]['cities'][j]['confirmedCount']
    36             cured=jsonData['results'][i]['cities'][j]['curedCount']
    37             dead=jsonData['results'][i]['cities'][j]['deadCount']
    38             city=jsonData['results'][i]['cities'][j]['cityName']
    39             #使用python中datetime的方法提取时间(yyyy-mm-dd)
    40             date=datetime.date.today()
    41             #提取数据完成,执行操作,num+1
    42             num=num+1
    43             #调用入库方法
    44             insertdata((date,province,city,confirmed,cured,dead),num)

    可以看到python爬取数据十分简单,44行代码就解决了(雾)。这是我第一次自学python,在刚开始编写的时候有很多地方不懂,参考了很多资料才得以完成,而且这里编写还需要连接数据库。在下载各种包的时候,我使用的是控制窗输入pip命令的方法,这似乎是python特有的下载模式,我认为十分好用。

  • 相关阅读:
    整理Eclipse常用快捷键
    前端网站资源推荐
    Node.js 官方示例中的 ECMAScript 2015
    D3.js 入门系列 — 选择元素和绑定数据
    D3.js 入门系列
    PlaceHolder的两种实现方式
    Vue.js 是什么
    Webstorm官方最新版本for Mac版本 不用注册码/破坏原文件
    vue.js 学习 仅自己加强记忆
    jQuery 动画animate,显示隐藏,淡入淡出,下拉切换,过渡效果
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/13059045.html
Copyright © 2020-2023  润新知