python网络爬虫技术是什么,python网络爬虫需要哪些包

  python网络爬虫技术是什么,python网络爬虫需要哪些包

  Yyds干货库存

  目录

  百度翻译抓取

  思考

  过程

  代码实现

  代码一

  结果

  代码二

  结果

  代码分析

  urllib

  即时战略游戏

  1.urlopen()

  百度翻译通过百度翻译抓取,翻译,点击F12,就可以看到网络另一端的数据传输。当你在后台看到翻译网站的时候,我们可以把百度翻译网站伪装在前台,把同样的数据发送到翻译后台,然后得到后台传回来的翻译信息。这里的百度翻译需要打着做浏览器的幌子发送信息。但是,如果有翻译,就没必要装浏览器了。

  先处理翻译。

  编辑

  查找帖子

  右边有相应翻译的帖子

  编辑

  编辑

  获取后台翻译URL

  编辑

  获取请求字段

  编辑

  从urllib导入请求中实现代码1,解析

  导入json

  headers={ User-Agent : Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎)’

  chrome/68 . 0 . 3440 . 75 Safari/537.36 }

  Content=input(请输入您要翻译的内容:)

  Dict={kw:content}#要翻译的内容

  new _ name=parse . urlencode(dict)#进行代码转换

  URL= 3359fanyi.baidu.com/sug # URL连接

  Response=request.request (URL,headers=headers,data=bytes (new _ name,encoding= UTF-8)) #

  Text=request.urlopern (response)。阅读()。解码( UTF-8) #抓取数据

  content=json.loads(文本)

  打印(翻译结果:,内容[数据][0])

  在实施的时候,会出现越界的问题。

  结果

  编辑

  来自urllib导入请求的代码,解析

  导入json

  headers={ User-Agent : Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎)’

  chrome/68 . 0 . 3440 . 75 Safari/537.36 }

  Content=input(请输入您要翻译的内容:)

  Dict={kw:content}#要翻译的内容

  new _ name=parse . urlencode(dict)#进行代码转换

  URL= 3359fanyi.baidu.com/sug # URL连接

  Response=request.request (URL,headers=headers,data=bytes (new _ name,encoding= UTF-8)) #

  Text=request.urlopern (response)。阅读()。解码( UTF-8) #抓取数据

  content=json.loads(文本)

  打印(翻译结果:,内容[数据][:-1])

  为了解决code one越界的问题,我直接用-1作为索引来限定最终的边界。

  结果

  编辑

  代码分析:我大概系统地记录了网络爬虫的常用语句。

  python2中的代码解析,有两个库,urllib和urllib2,用来发送请求。在python3中,urllib和urllib2已经统一合并为urllib。

  Urlliburllib库是python内置的http请求库,这意味着无需额外安装即可使用。

  它包含以下模块:

  请求

  最基本的HTTP请求模块可以用来模拟发送请求。就像在浏览器中输入一个网站,然后按enter键一样,您可以通过向库方法传入URL和额外的参数来模拟这个过程。

  错误

  异常处理模块,如果有请求错误,我们可以捕捉这些异常,然后重试或其他操作,以确保程序不会意外终止。

  从语法上分析

  模块,提供了很多URL处理方法,比如拆分、解析、合并等。

  机器人解析器

  主要用于识别网站的robot.txt文件,进而判断哪些网站可以抓取,哪些网站不可以。其实用的比较少。

  Send request 1.urlopen()以CSDN网站为例:

  导入urllib.request

  response=urllib . request . urlopen( https://blog . csdn . net )

  print(response.read()。解码( utf-8 ))

  运行结果:

  编辑

  如你所见,它返回了网站的源代码。

  使用类型的方法输出响应类型:

  导入urllib.request

  response=urllib . request . urlopen( https://blog . csdn . net )

  #print(response.read()。解码( utf-8 ))

  打印(类型(响应))

  运行结果:

  编辑

  response=URL lib . request . URL opern( https://blog . csdn . net )返回一个HTTPRespons类型的对象,主要包括read()、readinto()、getheader(name)、getheaders()、fileno()和msg、version、status、reason等方法。我们可以使用这些方法,通过使用响应变量来获取信息。

  例如,使用read()方法:

  导入urllib.request

  response=urllib . request . urlopen( https://blog . csdn . net )

  打印(response.status)#输出状态代码

  Print(response.getheaders())#响应头信息

  print(response . get header( Server ))

  传递参数Server得到响应头中的服务器值,结果是openresty,

  意味着服务器是用openresty构建的。

  编辑

  使用最基本的urlopen()方法,可以完成最基本的简单网页的GET请求抓取。

  Urlopen函数API:

  urllib.request.uropen(url,data=None)

  数据参数

  数据参数是可选的。如果需要添加这个参数,需要使用bytes()方法将参数转换成字节流编码格式的内外,也就是bytes类型。

  如果传递此参数,其请求模式不是GET模式,而是POST模式。

  导入urllib.request

  导入urllib.parse

  数据=字节(URL lib . parse . urlencode({ word : hello }),编码=utf-8 )

  response=urllib . request . urlopen( https://http bin . org/post ,data)

  print(response.read()。解码( utf-8 ))

  编辑

  爱菠萝的。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: