概述
这是一个我很喜欢的小网站,想了解这个网站先从爬虫开始,爬取直播吧所有的栏目及内容,再存入数据库。先写个简单点的,后期再不断的优化下。
准备阶段
- 直播吧网址https://www.zhibo8.cc/,打开我们看到如下界面
- 进入足球新闻-滚动新闻
- 利用浏览器自带的编码工具按下F12查看,发现在XMR中存在页面的地址,打开之后发现
这个就是当前页面的所有内容,如果能把这里面的内容全部保存下来就完成任务了
代码
1 import pymysql#导入 pymysql 2 import requests 3 import json 4 conn = pymysql.connect( 5 host='192.168.88.100', 6 port=3306, 7 user='root', 8 password='344762694', 9 database='zhibo8', 10 charset='utf8' 11 ) # 建立数据库mysql连接 12 13 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 获取游标 默认元组类型 14 insert_news_sql = ' insert into news(title, url, hash, publish_time, news_type, from_name) values(%s, %s, %s, %s, %s, %s)' 15 16 response = requests.get("https://m.zhibo8.cc/json/hot/24hours.htm") 17 news_list = json.loads(response.text).get('news') 18 news_data = () 19 for news in news_list: 20 title = news.get('title') 21 news_type = news.get('type') 22 publish_time = news.get('createtime') 23 url = news.get('from_url') 24 from_name = news.get('from_name') 25 hash_str = hash(title) 26 news_data = (title, url, hash_str, publish_time, news_type, from_name) 27 cursor.execute(insert_news_sql, news_data) # 执行语句 28 29 conn.commit() # 提交 30 cursor.close() # 关闭游标 31 conn.close() # 关闭连接
得到了所有的数据