欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小福利,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')


打印文件截图如下
小福利,e分钟带你爬取海量专利数据并保存为excel文件

获得的excel文件截图如下
小福利,e分钟带你爬取海量专利数据并保存为excel文件
这里只是爬取了第一页的数据,如果对url构造for循环,那么就可以获取更多的数据了

相关标签: 爬虫 python