标签:exe name 数据库操作 import read utf8 https urllib .exe
抓取2018年四川大学自主招生初审通过名单信息。
1.正则表达式。
2.python基础语法,爬虫和数据库操作。
1.抓取网页。
2.解析出需要的数据。
3.继续抓取下一个页面,重复12步骤直到到尾页停止。
4.将解析出来的数据存入数据库。
采用python3.6和mysql
import urllib.request import re import pymysql def catch_page(url_addr): try: page_data = urllib.request.urlopen(url_addr).read() except urllib.URLError as e: if hasattr(e,‘code‘): print(‘服务器不能接受请求 错误码:‘,e.code) elif hasattr(e,‘reason‘): print(‘无法抵达服务器,请检查url和读的原因!\n 原因:‘,e.reason) return page_data def find_all_data(html): pattern = "<tr>[\s\S]*?<td>(.*?)</td>" "[\s\S]*?<td>(.*?)</td>" "[\s\S]*?<td>(.*?)</td>" "[\s\S]*?<td>(.*?)</td>[\s\S]*?</tr>" #[\s\S]*?匹配任意字符 userdata = re.findall(pattern,html) return userdata def add_to_mysql(userdatas): conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘root‘, db=‘scdx_zzzs_db‘, charset=‘utf8‘) cursor = conn.cursor() for userdata in userdatas: sql = "insert into student(name,sex,school,province) values(‘%s‘,‘%s‘,‘%s‘,‘%s‘);" % (userdata[0], userdata[1], userdata[2], userdata[3]) try: cursor.execute(sql) print("√执行成功----->>" + sql) except: print("×执行失败----->>" + sql) conn.commit() cursor.close() conn.close() userdatas = [] i = 0 while i<=3300: url = "https://gaokao.chsi.com.cn/zzbm/mdgs/detail.action?oid=476754340&lx=1&start=%d" % i html = catch_page(url).decode() userdatas.extend(find_all_data(html)) print(i) i += 30 add_to_mysql(userdatas)
执行完就成功从网页抓取数据存入数据库中了。
标签:exe name 数据库操作 import read utf8 https urllib .exe
原文地址:https://www.cnblogs.com/StringSir/p/9195212.html