import requests, re, lxml
from lxml import etree
from bs4 import BeautifulSoup
import json
import pandas as pd
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'news-online'
sheet['A1'] = '名称' # 加表头,给A1单元格赋值
sheet['B1'] = '网址' # 加表头,给B1单元格赋值
sheet['C1'] = '图片网址' # 加表头,给C1单元格赋值
headers = {
'Referer': 'https://news.qq.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:46.0) Gecko/20100101 Firefox/46.0',
}
url = 'https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list?sub_srv_id=24hours&srv_id=pc&offset=0&limit=20&strategy=1&ext={"pool":["top"],"is_filter":7,"check_type":true}'
res = requests.get(url, headers=headers)
res1=res.json()
res2=res1['data']
datas=res2['list']
datas_list = []
for i in datas:
datas_dict = {}
datas_dict['标题']=i['title']
datas_dict['网址'] = i['url']
datas_dict['图片网址'] = i['thumb_nail']
datas_list.append(datas_dict)
row = [i['title'], i['url'],i['thumb_nail']]
sheet.append(row)
wb.save('qqnews.xlsx')
df=pd.DataFrame(datas_list)
print(df)
excel文件截图如下
[图片上传失败...(image-fa6a14-1648970447170)]