热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python爬虫之Requests库爬取海量图片!数据都是钱啊

Requests是一个Python的HTTP客户端库。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传ÿ

Requests 是一个 Python 的 HTTP 客户端库。

Request支持HTTP连接保持和连接池,支持使用COOKIE保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。

在python内置模块的基础上进行了高度的封装从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。 现代,国际化,友好 。

目录

一、Requests基础

二、发送请求与接收响应(基本GET请求)

三、发送请求与接收响应(基本POST请求)

四、response属性

五、代理

六、COOKIE和session

七、案例


一、Requests基础


1.安装Requests库

pip install requests

2.使用Requests库

import requests

二、发送请求与接收响应(基本GET请求)

response = requests.get(url)

1.传送 parmas参数


  • 参数包含在url中

response = requests.get("http://httpbin.org/get?name=zhangsan&age=22")
print(response.text)


  • 通过get方法传送参数

data = {"name": "zhangsan","age": 30}
response = requests.get("http://httpbin.org/get", params=data)
print(response.text)

2.模拟发送请求头(传送headers参数)

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
}
response = requests.get("http://httpbin.org/get", headers=headers)
print(response.text)

三、发送请求与接收响应(基本POST请求)

response = requests.post(url, data = data, headers=headers)

四、response属性

 


五、代理

proxies = {"http": "https://175.44.148.176:9000","https": "https://183.129.207.86:14002"
}
response = requests.get("https://www.baidu.com/", proxies=proxies)

六、COOKIE和session


  • 使用的COOKIE和session好处:很多网站必须登录之后(或者获取某种权限之后)才能能够请求到相关数据。
  • 使用的COOKIE和session的弊端:一套COOKIE和session往往和一个用户对应.请求太快,请求次数太多,容易被服务器识别为爬虫,从而使账号收到损害。

1.不需要COOKIE的时候尽量不去使用COOKIE。

2.为了获取登录之后的页面,我们必须发送带有COOKIEs的请求,此时为了确保账号安全应该尽量降低数据

采集速度。


1.COOKIE


(1)获取COOKIE信息

response.COOKIEs

2.session


(1)构造session回话对象

session = requests.session()

示例:

def login_renren():login_url = 'http://www.renren.com/SysHome.do'headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}session = requests.session()login_data = {"email": "账号","password": "密码"}response = session.post(login_url, data=login_data, headers=headers)response = session.get("http://www.renren.com/971909762/newsfeed/photo")print(response.text)login_renren()

七、案例

 


案例1:百度贴吧页面爬取(GET请求)

import requests
import sysclass BaiduTieBa:def __init__(self, name, pn, ):self.name = nameself.url = "http://tieba.baidu.com/f?kw={}&ie=utf-8&pn={}".format(name, pn)self.headers = {# "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"# 使用较老版本的请求头,该浏览器不支持js"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"}self.url_list = [self.url + str(pn*50) for pn in range(pn)]print(self.url_list)def get_data(self, url):"""请求数据:param url::return:"""response = requests.get(url, headers=self.headers)return response.contentdef save_data(self, data, num):"""保存数据:param data::param num::return:"""file_name = "./pages/" + self.name + "_" + str(num) + ".html"with open(file_name, "wb") as f:f.write(data)def run(self):for url in self.url_list:data = self.get_data(url)num = self.url_list.index(url)self.save_data(data, num)if __name__ == "__main__":name = sys.argv[1]pn = int(sys.argv[2])baidu = BaiduTieBa(name, pn)baidu.run()

案例2:金山词霸翻译(POST请求)

import requests
import sys
import jsonclass JinshanCiBa:def __init__(self, words):self.url = "http://fy.iciba.com/ajax.php?a=fy"self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0","X-Requested-With": "XMLHttpRequest"}self.post_data = {"f": "auto","t": "auto","w": words}def get_data(self):"""请求数据:param url::return:"""response = requests.post(self.url, data=self.post_data, headers=self.headers)return response.textdef show_translation(self):"""显示翻译结果:param data::param num::return:"""response = self.get_data()json_data = json.loads(response, encoding='utf-8')if json_data['status'] == 0:translation = json_data['content']['word_mean']elif json_data['status'] == 1:translation = json_data['content']['out']else:translation = Noneprint(translation)def run(self):self.show_translation()if __name__ == "__main__":words = sys.argv[1]ciba = JinshanCiBa(words)ciba.run()


案例3:百度贴吧图片爬取


(1)普通版

从已下载页面中提取url来爬取图片(页面下载方法见案例1)

from lxml import etree
import requestsclass DownloadPhoto:def __init__(self):passdef download_img(self, url):response = requests.get(url)index = url.rfind('/')file_name = url[index + 1:]print("下载图片:" + file_name)save_name = "./photo/" + file_namewith open(save_name, "wb") as f:f.write(response.content)def parse_photo_url(self, page):html = etree.parse(page, etree.HTMLParser())nodes = html.xpath("//a[contains(@class, 'thumbnail')]/img/@bpic")print(nodes)print(len(nodes))for node in nodes:self.download_img(node)if __name__ == "__main__":download = DownloadPhoto()for i in range(6000):download.parse_photo_url("./pages/校花_{}.html".format(i))

(2)多线程版

main.py

import requests
from lxml import etreefrom file_download import DownLoadExecutioner, file_downloadclass XiaoHua:def __init__(self, init_url):self.init_url = init_urlself.download_executioner = DownLoadExecutioner()def start(self):self.download_executioner.start()self.download_img(self.init_url)def download_img(self, url):html_text = file_download(url, type='text')html = etree.HTML(html_text)img_urls = html.xpath("//a[contains(@class,'thumbnail')]/img/@bpic")self.download_executioner.put_task(img_urls)# 获取下一页的连接next_page = html.xpath("//div[@id='frs_list_pager']/a[contains(@class,'next')]/@href")next_page = "http:" + next_page[0]self.download_img(next_page)if __name__ == '__main__':x = XiaoHua("http://tieba.baidu.com/f?kw=校花&ie=utf-8")x.start()

file_download.py

import requests
import threading
from queue import Queuedef file_download(url, type='content'):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}r = requests.get(url, headers=headers)if type == 'text':return r.textreturn r.contentclass DownLoadExecutioner(threading.Thread):def __init__(self):super().__init__()self.q = Queue(maxsize=50)# 图片保存目录self.save_dir = './img/'# 图片计数self.index = 0def put_task(self, urls):if isinstance(urls, list):for url in urls:self.q.put(url)else:self.q.put(urls)def run(self):while True:url = self.q.get()content = file_download(url)# 截取图片名称index = url.rfind('/')file_name = url[index+1:]save_name = self.save_dir + file_namewith open(save_name, 'wb+') as f:f.write(content)self.index += 1print(save_name + "下载成功! 当前已下载图片总数:" + str(self.index))

(3)线程池版

main.py

import requests
from lxml import etreefrom file_download_pool import DownLoadExecutionerPool, file_downloadclass XiaoHua:def __init__(self, init_url):self.init_url = init_urlself.download_executioner = DownLoadExecutionerPool()def start(self):self.download_img(self.init_url)def download_img(self, url):html_text = file_download(url, type='text')html = etree.HTML(html_text)img_urls = html.xpath("//a[contains(@class,'thumbnail')]/img/@bpic")self.download_executioner.put_task(img_urls)# 获取下一页的连接next_page = html.xpath("//div[@id='frs_list_pager']/a[contains(@class,'next')]/@href")next_page = "http:" + next_page[0]self.download_img(next_page)if __name__ == '__main__':x = XiaoHua("http://tieba.baidu.com/f?kw=校花&ie=utf-8")x.start()

file_download_pool.py

import requests
import concurrent.futures as futuresdef file_download(url, type='content'):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}r = requests.get(url, headers=headers)if type == 'text':return r.textreturn r.contentclass DownLoadExecutionerPool():def __init__(self):super().__init__()# 图片保存目录self.save_dir = './img_pool/'# 图片计数self.index = 0# 线程池self.ex = futures.ThreadPoolExecutor(max_workers=30)def put_task(self, urls):if isinstance(urls, list):for url in urls:self.ex.submit(self.save_img, url)else:self.ex.submit(self.save_img, urls)def save_img(self, url):content = file_download(url)# 截取图片名称index = url.rfind('/')file_name = url[index+1:]save_name = self.save_dir + file_namewith open(save_name, 'wb+') as f:f.write(content)self.index += 1print(save_name + "下载成功! 当前已下载图片总数:" + str(self.index))

作者:Recalcitrant

链接: https://www.jianshu.com/p/140... 是一个 Python 的 HTTP 客户端库。

Request支持HTTP连接保持和连接池,支持使用COOKIE保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。

在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。现代,国际化,友好。

requests会自动实现持久连接keep-alive

目录

一、Requests基础

二、发送请求与接收响应(基本GET请求)

三、发送请求与接收响应(基本POST请求)

四、response属性

五、代理

六、COOKIE和session

七、案例


一、Requests基础


1.安装Requests库

pip install requests

2.使用Requests库

import requests

二、发送请求与接收响应(基本GET请求)

response = requests.get(url)

1.传送 parmas参数


  • 参数包含在url中

response = requests.get("http://httpbin.org/get?name=zhangsan&age=22")
print(response.text)


  • 通过get方法传送参数

data = {"name": "zhangsan","age": 30}
response = requests.get("http://httpbin.org/get", params=data)
print(response.text)

2.模拟发送请求头(传送headers参数)

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
}
response = requests.get("http://httpbin.org/get", headers=headers)
print(response.text)

三、发送请求与接收响应(基本POST请求)

response = requests.post(url, data = data, headers=headers)

四、response属性

属性描述response.text获取str类型(Unicode编码)的响应response.content获取bytes类型的响应response.status_code获取响应状态码response.headers获取响应头response.request获取响应对应的请求


五、代理

proxies = {"http": "https://175.44.148.176:9000","https": "https://183.129.207.86:14002"
}
response = requests.get("https://www.baidu.com/", proxies=proxies)

六、COOKIE和session


  • 使用的COOKIE和session好处:很多网站必须登录之后(或者获取某种权限之后)才能能够请求到相关数据。
  • 使用的COOKIE和session的弊端:一套COOKIE和session往往和一个用户对应.请求太快,请求次数太多,容易被服务器识别为爬虫,从而使账号收到损害。

1.不需要COOKIE的时候尽量不去使用COOKIE。

2.为了获取登录之后的页面,我们必须发送带有COOKIEs的请求,此时为了确保账号安全应该尽量降低数据

采集速度。


1.COOKIE


(1)获取COOKIE信息

response.COOKIEs

2.session


(1)构造session回话对象

session = requests.session()

示例:

def login_renren():login_url = 'http://www.renren.com/SysHome.do'headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}session = requests.session()login_data = {"email": "账号","password": "密码"}response = session.post(login_url, data=login_data, headers=headers)response = session.get("http://www.renren.com/971909762/newsfeed/photo")print(response.text)login_renren()

七、案例

 


案例1:百度贴吧页面爬取(GET请求)

import requests
import sysclass BaiduTieBa:def __init__(self, name, pn, ):self.name = nameself.url = "http://tieba.baidu.com/f?kw={}&ie=utf-8&pn={}".format(name, pn)self.headers = {# "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"# 使用较老版本的请求头,该浏览器不支持js"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"}self.url_list = [self.url + str(pn*50) for pn in range(pn)]print(self.url_list)def get_data(self, url):"""请求数据:param url::return:"""response = requests.get(url, headers=self.headers)return response.contentdef save_data(self, data, num):"""保存数据:param data::param num::return:"""file_name = "./pages/" + self.name + "_" + str(num) + ".html"with open(file_name, "wb") as f:f.write(data)def run(self):for url in self.url_list:data = self.get_data(url)num = self.url_list.index(url)self.save_data(data, num)if __name__ == "__main__":name = sys.argv[1]pn = int(sys.argv[2])baidu = BaiduTieBa(name, pn)baidu.run()

案例2:金山词霸翻译(POST请求)

import requests
import sys
import jsonclass JinshanCiBa:def __init__(self, words):self.url = "http://fy.iciba.com/ajax.php?a=fy"self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0","X-Requested-With": "XMLHttpRequest"}self.post_data = {"f": "auto","t": "auto","w": words}def get_data(self):"""请求数据:param url::return:"""response = requests.post(self.url, data=self.post_data, headers=self.headers)return response.textdef show_translation(self):"""显示翻译结果:param data::param num::return:"""response = self.get_data()json_data = json.loads(response, encoding='utf-8')if json_data['status'] == 0:translation = json_data['content']['word_mean']elif json_data['status'] == 1:translation = json_data['content']['out']else:translation = Noneprint(translation)def run(self):self.show_translation()if __name__ == "__main__":words = sys.argv[1]ciba = JinshanCiBa(words)ciba.run()

案例3:百度贴吧图片爬取


(1)普通版

从已下载页面中提取url来爬取图片(页面下载方法见案例1)

from lxml import etree
import requestsclass DownloadPhoto:def __init__(self):passdef download_img(self, url):response = requests.get(url)index = url.rfind('/')file_name = url[index + 1:]print("下载图片:" + file_name)save_name = "./photo/" + file_namewith open(save_name, "wb") as f:f.write(response.content)def parse_photo_url(self, page):html = etree.parse(page, etree.HTMLParser())nodes = html.xpath("//a[contains(@class, 'thumbnail')]/img/@bpic")print(nodes)print(len(nodes))for node in nodes:self.download_img(node)if __name__ == "__main__":download = DownloadPhoto()for i in range(6000):download.parse_photo_url("./pages/校花_{}.html".format(i))

(2)多线程版

main.py

import requests
from lxml import etreefrom file_download import DownLoadExecutioner, file_downloadclass XiaoHua:def __init__(self, init_url):self.init_url = init_urlself.download_executioner = DownLoadExecutioner()def start(self):self.download_executioner.start()self.download_img(self.init_url)def download_img(self, url):html_text = file_download(url, type='text')html = etree.HTML(html_text)img_urls = html.xpath("//a[contains(@class,'thumbnail')]/img/@bpic")self.download_executioner.put_task(img_urls)# 获取下一页的连接next_page = html.xpath("//div[@id='frs_list_pager']/a[contains(@class,'next')]/@href")next_page = "http:" + next_page[0]self.download_img(next_page)if __name__ == '__main__':x = XiaoHua("http://tieba.baidu.com/f?kw=校花&ie=utf-8")x.start()

file_download.py

import requests
import threading
from queue import Queuedef file_download(url, type='content'):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}r = requests.get(url, headers=headers)if type == 'text':return r.textreturn r.contentclass DownLoadExecutioner(threading.Thread):def __init__(self):super().__init__()self.q = Queue(maxsize=50)# 图片保存目录self.save_dir = './img/'# 图片计数self.index = 0def put_task(self, urls):if isinstance(urls, list):for url in urls:self.q.put(url)else:self.q.put(urls)def run(self):while True:url = self.q.get()content = file_download(url)# 截取图片名称index = url.rfind('/')file_name = url[index+1:]save_name = self.save_dir + file_namewith open(save_name, 'wb+') as f:f.write(content)self.index += 1print(save_name + "下载成功! 当前已下载图片总数:" + str(self.index))

(3)线程池版

main.py

import requests
from lxml import etreefrom file_download_pool import DownLoadExecutionerPool, file_downloadclass XiaoHua:def __init__(self, init_url):self.init_url = init_urlself.download_executioner = DownLoadExecutionerPool()def start(self):self.download_img(self.init_url)def download_img(self, url):html_text = file_download(url, type='text')html = etree.HTML(html_text)img_urls = html.xpath("//a[contains(@class,'thumbnail')]/img/@bpic")self.download_executioner.put_task(img_urls)# 获取下一页的连接next_page = html.xpath("//div[@id='frs_list_pager']/a[contains(@class,'next')]/@href")next_page = "http:" + next_page[0]self.download_img(next_page)if __name__ == '__main__':x = XiaoHua("http://tieba.baidu.com/f?kw=校花&ie=utf-8")x.start()

file_download_pool.py

import requests
import concurrent.futures as futuresdef file_download(url, type='content'):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}r = requests.get(url, headers=headers)if type == 'text':return r.textreturn r.contentclass DownLoadExecutionerPool():def __init__(self):super().__init__()# 图片保存目录self.save_dir = './img_pool/'# 图片计数self.index = 0# 线程池self.ex = futures.ThreadPoolExecutor(max_workers=30)def put_task(self, urls):if isinstance(urls, list):for url in urls:self.ex.submit(self.save_img, url)else:self.ex.submit(self.save_img, urls)def save_img(self, url):content = file_download(url)# 截取图片名称index = url.rfind('/')file_name = url[index+1:]save_name = self.save_dir + file_namewith open(save_name, 'wb+') as f:f.write(content)self.index += 1print(save_name + "下载成功! 当前已下载图片总数:" + str(self.index))

完整项目代码获取点这里


推荐阅读
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 本文探讨了BERT模型在自然语言处理领域的应用与实践。详细介绍了Transformers库(曾用名pytorch-transformers和pytorch-pretrained-bert)的使用方法,涵盖了从模型加载到微调的各个环节。此外,还分析了BERT在文本分类、情感分析和命名实体识别等任务中的性能表现,并讨论了其在实际项目中的优势和局限性。 ... [详细]
author-avatar
豆芽哥的马甲_206
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有