import requests #requests是HTTP库
import re
from openpyxl import workbook # 写入Excel表所用
from openpyxl import load_workbook # 读取Excel表所用
from bs4 import BeautifulSoup as bs #bs:通过解析文档为用户提供需要抓取的数据
import os
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改变标准输出的默认编码
#我们开始利用requests.get()来获取网页并利用bs4解析网页:
def getData(src):
html = requests.get(src).content # requests.get(src)返回的是状态码<Response [200]>,加上.content以字节形式(二进制返回数据。 和前端一样,分为get post等 http://www.cnblogs.com/ranxf/p/7808537.html
soup = bs(html,'lxml') # lxml解析器解析字节形式的数据,得到完整的类似页面的html代码结构的数据
global ws
Name = []
nameList = soup.find_all(href=re.compile("/diary/"))
for name in nameList:
Name.append(name.text)
for i in range(len(Name)):
ws.append([Name[i]])
if __name__ == '__main__':
wb = workbook.Workbook() # 创建Excel对象
ws = wb.active # 获取当前正在操作的表对象
# 往表中写入标题行,以列表形式写入!
ws.append(['新闻标题'])
src = 'https://diary.jin10.com/square'
getData(src)
wb.save('news.xlsx') # 存入所有信息后,保存为filename.xlsx
如果import的模块不存在,使用pip install 命令用于安装包。
pip install io