标签: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