当前位置: 首页 > news >正文

刚刚发生了什么大事乐陵网络推广seo优化

刚刚发生了什么大事,乐陵网络推广seo优化,手机网站建设设计6,wordpress mycred汉化本文中我们将通过一个小练习的方式利用urllib和bs4来实操获取豆瓣 Top250 的电影信息#xff0c;但在实际动手之前#xff0c;我们需要先了解一些关于Http 请求和响应以及请求头作用的一些知识。 1. Http 请求与响应 HTTP#xff08;超文本传输协议#xff09;是互联网上…本文中我们将通过一个小练习的方式利用urllib和bs4来实操获取豆瓣 Top250 的电影信息但在实际动手之前我们需要先了解一些关于Http 请求和响应以及请求头作用的一些知识。 1. Http 请求与响应 HTTP超文本传输协议是互联网上应用最为广泛的协议之一它定义了客户端通常是浏览器和服务器之间交换数据的格式和规则。以下是HTTP请求与响应结合实际情况的介绍 1.1 Http 请求Request 1.1.1 请求的组成 一个HTTP请求通常包含以下几个部分 请求行包括请求方法、URL和HTTP版本。请求头包含关于客户端环境和请求本身的信息如用户代理User-Agent、接受的内容类型Accept等。空行用于分隔请求头和请求体。请求体可选包含要发送给服务器的数据如表单数据或JSON数据。 1.1.2 请求方法 GET请求获取服务器上的资源。POST向服务器提交数据通常用于提交表单或上传文件。PUT更新服务器上的资源。DELETE请求删除服务器上的资源。 1.1.3 实际应用 例如当用户在浏览器中输入一个网址并按下回车时浏览器会构造一个GET请求发送给服务器请求头可能包含如下信息 GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.9 Accept-Language: zh-CN,zh;q0.9,en;q0.8这个请求意味着客户端请求获取服务器上名为www.example.com的网站根目录下的index.html文件。 1.2 Http 响应Response 1.2.1 响应的组成 一个HTTP响应通常包含以下几个部分 状态行包括HTTP版本、状态码和状态消息。响应头包含服务器信息和资源信息如内容类型Content-Type、内容长度Content-Length等。空行用于分隔响应头和响应体。响应体包含从服务器返回的资源内容。 1.2.2 状态码 1xx信息性状态码如100 Continue。2xx成功状态码如200 OK。3xx重定向状态码如302 Found。4xx客户端错误状态码如404 Not Found。5xx服务器错误状态码如500 Internal Server Error。 1.2.3 实际应用 例如当服务器收到上述GET请求后可能会返回以下响应 HTTP/1.1 200 OK Content-Type: text/html; charsetUTF-8 Content-Length: 1250 !DOCTYPE html html headtitleExample Page/title /head bodyh1Welcome to Example.com/h1pThis is an example HTML page./p /body /html这个响应意味着服务器成功找到了请求的资源并在响应体中返回了该HTML页面的内容。 HTTP请求与响应是客户端和服务器间通信的基础它们通过请求方法、状态码、头部字段等机制确保了信息的有效传递。在实际应用中无论是网页浏览、API调用还是文件上传都离不开HTTP协议的这些基本原理。 2. GET、POST与请求头 下面是使用Python的requests库发送GET请求和POST请求的简单示例。首先确保你已经安装了requests库。如果没有安装可以通过以下命令安装 pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple2.1 GET请求示例 2.1.1 不带请求头的 GET 请求 import requests # 发送不带请求头的GET请求 response requests.get(http://httpbin.org/get) print(response.text)2.1.2 带请求头的 GET 请求 import requests # 定义请求头 headers {User-Agent: My Custom User Agent,Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8 } # 发送带请求头的GET请求 response requests.get(http://httpbin.org/get, headersheaders) print(response.text)2.2 POST请求示例 2.2.1 不带请求头的 POST 请求 import requests # 发送不带请求头的POST请求 response requests.post(http://httpbin.org/post, data{key: value}) print(response.text)2.2.2 带请求头的 POST 请求 import requests # 定义请求头 headers {User-Agent: My Custom User Agent,Content-Type: application/x-www-form-urlencoded } # 发送带请求头的POST请求 response requests.post(http://httpbin.org/post, headersheaders, data{key: value}) print(response.text)2.3 带请求头与不带请求头的区别 身份识别请求头中的User-Agent字段可以帮助服务器识别发起请求的客户端类型如浏览器、爬虫或其他应用程序。如果不带请求头服务器可能无法正确处理请求或者将请求视为不合法的访问。内容协商请求头中的Accept字段告诉服务器客户端可以接收的内容类型。如果服务器支持多种内容类型它将根据这个字段选择最合适的内容类型来响应。数据格式对于POST请求请求头中的Content-Type字段指定了发送到服务器的数据格式。例如如果发送的是JSON数据通常需要将Content-Type设置为application/json。安全性一些API可能要求特定的请求头来进行认证或授权。如果不带这些请求头API可能拒绝服务。(如豆瓣)自定义行为开发者可能需要发送自定义的请求头以触发服务器端特定的行为如缓存策略、压缩格式等。 不带请求头的请求在某些简单情况下可能仍然有效但为了更好地控制请求行为和确保与服务器正确交互通常建议在请求中包含适当的请求头。 3. 分析网页结构 进入豆瓣排行榜网页后我们右击 -- 检查 -- 元素 一栏中可以找到我们想要的信息 在这里我们可以看到我们需要的数据都是静态数据直接嵌入在网页源代码里我们只需对照相应的属性名进行获取即可在找到我们想要的数据后就可以着手写代码了。 4. 代码实现 话不多说我们直接上代码 import random import urllib.request from bs4 import BeautifulSoup import codecs from time import sleep # 爬取豆瓣 TOP250 电影名称、链接、评分及影评 def GetContent(url, headers):# 发送请求page urllib.request.Request(url, headersheaders)page urllib.request.urlopen(page)contents page.read()# 用BeautifulSoup解析网页soup BeautifulSoup(contents, html.parser)infofile.write()print(爬取豆瓣电影250: \n)for tag in soup.find_all(attrs{class: item}):# 爬取序号num tag.find(em).get_text()print(num)infofile.write(num \r\n)# 电影名称name tag.find_all(attrs{class: title})zwname name[0].get_text()print([中文名称], zwname)infofile.write([中文名称] zwname \r\n)# 网页链接url_movie tag.find(attrs{class: hd}).aurls url_movie.attrs[href]print([网页链接], urls)infofile.write([网页链接] urls \r\n)# 爬取评分和评论数info tag.find(attrs{class: star}).get_text()info info.replace(\n, )info info.lstrip()print([评分评论], info)# 获取评语info tag.find(attrs{class: inq})if (info): # 避免没有影评调用get_text()报错content info.get_text()print([影评], content)infofile.write(u[影评] content \r\n)print()if __name__ __main__:# 存储文件infofile codecs.open(../Top250_Movies.txt, a, utf-8)# 消息头headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36}# 翻页i 0while i 10:print(页码, (i 1))num i * 25 # 每次显示25部 URL序号按25增加url https://movie.douban.com/top250?start str(num) filterGetContent(url, headers)sleep(5 random.random())infofile.write(\r\n\r\n)i i 1infofile.close()爬取结果如下爬取完的数据存放在Top250_Movies.txt文件中 如果需要获取其他的数据可自行扩展
http://www.pierceye.com/news/826203/

相关文章:

  • 如何建设自己的网站 知乎怎么做电力设计公司网站
  • 效果图代做网站网站服务体系
  • 成都网站开发团队减肥养生网站建设
  • 个人做网站需要资质吗用php做网站的书籍
  • 开发一个交易网站多少钱做哪类网站比较赚钱
  • 帮人做彩票网站支付接口成都网络推广培训哪家好
  • 电子商务网站建设的教案404 not found wordpress
  • 怎样建设一个购物网站什么网站可以做直播
  • 石家庄网站开发培训灵犀科技网站开发佼佼者
  • 做阿里还是网站三个律师做网站合适吗
  • 梅州做网站设计公司网站 在百度搜索不到
  • 临沂门户网站制作微信附近人推广引流
  • 九龙坡区网站建设外贸是什么工作
  • 贵州省住房和城乡建设厅网站报名网网站开发入职转正申请书
  • 外贸平台哪个网站好做dede网站白屏
  • 可信的手机网站建设服装网站ui设计
  • 江苏网站建设效果好技术支持 英铭网站建设
  • 很多网站开发没有框架如何制作的网站模板制作与安装教程视频教程
  • 小说网站建设目的360如何做网站
  • 永安市住房与城乡建设局网站腾讯邮箱企业邮箱入口登录
  • 手机和wap网站建设wordpress链接 数据库
  • 1688网站简介青岛网站建设系统
  • 优秀网站的特点wordpress 腾讯云oss
  • 深圳专业做网站公司怎么做网站跳转
  • 设计教学网站推荐重庆大渝网
  • 网站建设询价邀请函二级建造师报名的官网
  • 沈阳个人网站建设表白网站制作软件
  • 开封+网站建设+网络推广网站建设及托管合同模板
  • 怎么看公司网站建设的时间苏州展厅设计公司排名
  • 新电商平台电脑优化软件哪个好用