小福利,e分钟带你爬取海量专利数据并保存为excel文件
程序员文章站
2024-03-20 21:45:04
...
大家好,我是天空之城,今天给大家带来小福利,e分钟带你爬取海量专利数据
话不多说,代码如下:
#--coding:utf-8--
#导入网络请求模块
import requests
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'patent'
sheet['A1'] = '专利名称' # 加表头,给A1单元格赋值
sheet['B1'] = '摘要' # 加表头,给B1单元格赋值
sheet['C1'] = '发布日期' # 加表头,给C1单元格赋值
sheet['D1'] = '访问量' # 加表头,给D1单元格赋值
sheet['E1'] = '网址' # 加表头,给E1单元格赋值
#导入网页解析模块
from bs4 import BeautifulSoup
#书写请求头
header = {
'Referer': 'http://www.xjishu.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:46.0) Gecko/20100101 Firefox/46.0'}
res = requests.get(headers=header,url='http://www.xjishu.com/')
film = res.text
#这里的res.text就是获取到的整个网页的所有源代码了,下面利用 'html.parser'模块进行网页数据的解析
soup = BeautifulSoup(film, 'html.parser')
#首先获取到了所有li标签,构成一个大的列表
items = soup.find('div',class_='col-search-list').find_all("li")
#对列表进行遍历,获取每一专利的相关信息
for item in items:
title=item.find('div',class_="so-header").text #名称
link=item.find('div',class_="so-header").find('a')['href']#链接
zhaiyao=item.find(class_="so-cont").text #摘要
date=item.find('div',class_="so-footer").find('span',class_='pull-left').text #评论
fwnum=item.find('div',class_="so-footer").find('span',class_='pull-right').text#访问量
#打印一下我们获得的信息
print(title,zhaiyao,date,fwnum,link)
row = [title,zhaiyao,date,fwnum,link]
sheet.append(row)
wb.save('patent.xlsx')
打印文件截图如下
获得的excel文件截图如下
这里只是爬取了第一页的数据,如果对url构造for循环,那么就可以获取更多的数据了