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

网站建设叁金手指花总8wordpress 4.8zh

网站建设叁金手指花总8,wordpress 4.8zh,网站建设思维导图的要求,建立网站软件前几天就想写一个爬虫系列的文章#xff0c;因为比较忙所以没有写#xff08;还不是因为懒#xff09;#xff0c;趁着现在屋里比较的凉爽#xff0c;心也比较的静#xff0c;总结下目前遇到的一些爬虫知识#xff0c;本系列将从简单的爬虫开始说起#xff0c;以后会逐…前几天就想写一个爬虫系列的文章因为比较忙所以没有写还不是因为懒趁着现在屋里比较的凉爽心也比较的静总结下目前遇到的一些爬虫知识本系列将从简单的爬虫开始说起以后会逐渐的提升难度同时会对反爬手段做一个总结以及用具体的事例来演示不同的反爬现象和实现手段。前言本系列侧重点是应用和实战所以对于软件的安装这些基本操作不做详细讲解我这里认为你已经有了一定的python基础所以对于python的安装一定会有一定的了解了这里废话不多说让我们进入正题。环境准备鉴于大多数人的系统是windows系统所以这里的所有内容都是在Windows下进行的另外推荐安装谷歌浏览器使用语言python版本3.6(低版本不能使用requests_html)。主要的爬虫模块requests_html。爬虫具备的基本条件作为一个合格的爬虫首先得有一个headers,如何理解headers我们打开谷歌浏览器然后F12,选择network选项卡打开百度的首页,然后打开然后选择其中的一个链接然后点击新弹出的窗口的headers,看到有一个Request Headers我们看到下面红框的内容这些由:组成的数据结构共同构成了一个headers在python中可以把这些字段作为一个字典传入。爬虫的代码实现下面我来看一个基本爬虫代码爬取百度的导航栏文字内容。1.导入requests_html模块。from requests_html import HTMLSession 2.创建一个session对象目的是维持一次完整的会话。sessionHTMLSession() 3.通过get方法访问网络urlhttps://www.baidu.com headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36} reqsession.get(urlurl,headersheaders) get方法需要传入两个参数一个是url一个是headers(字典类型)。一般的我们传入一个user_agent就可以愉快的使用了。(这里只是说一般的对于有先网站服务器还会监测headers的其他属性内容)。我们会获取一个response对象。拓展:如果查看requests_html的源码会发现默认是给了几个headers属性的。def default_headers()::rtype: requests.structures.CaseInsensitiveDictreturn CaseInsensitiveDict({User-Agent: default_user_agent(), #这个就是一个随机的useragentAccept-Encoding: , .join((gzip, deflate)),#接收编码类型Accept: */*,#接收文件类型Connection: keep-alive,#保持链接}) 4.获取网页返回的状态码一般的我们把200状态码认为是响应成功(并不一定是你想要的结果比如登陆失败有些也是200)。其他常见的还有404网页访问失败500服务器拒绝访问,302和301作为网页的重定向。if req.status_code200:print(ok) 5.获取正确的网页编码因为每个页面的编码不同可能导致在解析的时候出现乱码的情况对此requests_html模块为我们提供了一个可以高准确率获取编码的方法目前来看对于绝大对数html页面是没有问题的,所以可以放心使用。req.encodingreq.apparent_encoding 6.查看获取html源码此时我们已经获取了编码之后的对象了如果我们需要查看获取的内容以及编码是否正确我们可以使用text属性来获取网页的源码它是一个字符串格式的。7.xpath表达式的使用requets_html模块的一个好处就是集合了众多的网页解析模块比如bs4,pyquery,lxml等可以说相当的强大了requests_html通过response的html属性调用xpath方法来直接操作dom对象通过观察我们获取百度导航栏的标题的xpath,代码我们可以这样写。 node_listreq.html.xpath(//div[idu1]/a/text()) 简单说下上面xpath表达式的含义//从匹配选择的当前节点选择文档中的节点而不考虑它们的位置。/表示从根节点选取。后面跟的ediv表示是div节点中括号里面一般是做属性判断id就是判断id属性然后取其值为ul的后面紧跟的/a,表示上面div节点的下级所有含有a的节点,然后后面的text()是表示获取该节点的文本信息。8综合整理下上面的代码如下:from requests_html import HTMLSession from traceback import format_exc class BaiDu():def __init__(self):self.sessionHTMLSession()self.urlhttps://www.baidu.comself.headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36}self.timeout20def gethtml(self):try:reqself.session.get(urlself.url,headersself.headers,timeoutself.timeout)if req.status_code200:req.encodingreq.apparent_encodingtitle_infoself.parse_html(req)return | .join(title_info)except:print(出错了错误内容是,format_exc)def parse_html(self,req):node_listreq.html.xpath(//div[idu1]/a/text())return node_list if __name__ __main__:baiduBaiDu()titlebaidu.gethtml()print(title) 输出结果:新闻 | hao123 | 地图 | 视频 | 贴吧 | 学术 | 登录 | 设置 | 更多产品 好了今天的内容就到这内容比较的简单简单的说了下爬虫的基本思路后面会一步步加大难度如有任何问题和疑问欢迎留言。关注微信公众号:python学习开发 学习更多python知识
http://www.pierceye.com/news/751076/

相关文章:

  • 如何用ae做模板下载网站电脑网站建设规划
  • 北京京水建设集团有限公司网站西青做网站
  • 自己建的网站可以用笔记本做服务器吗网站建设后台系统有哪些
  • 做的asp网站手机号码网站开发软件手机版
  • android 做电子书下载网站网络热词作文
  • 网络网站销售龙岩建筑网
  • 专门找事做的网站iis7 wordpress伪静态规则
  • 做字体的网站济宁网站建设 济宁智雅
  • 工程门户网站建设怎样制作表白网站
  • 手机如何创建个人网站上海 .net网站建设
  • 小程序app软件定制开发首页排名优化公司
  • 红酒 专业 网站建设视频网站后台
  • 宁波网站建设58同城百度突然搜不到网站
  • 网站开发技术和seo的联系wordpress发邮件卡主
  • 网站开发安全模块方案网站运营方案怎么写?
  • 章丘网站制作手机网站 微信平台
  • 自定义功能的网站做坏事网站
  • 做农村电子商务的网站有哪些wordpress批量修改引用网址
  • 简述建立网站的步骤内蒙古建设监理协会网站
  • 网站上传格式工信部 网站备案查询
  • 网站开发怎么让别人看到网站设计主流尺寸
  • 都匀经济开发区建设局网站华宇网站建设
  • 南谯区住房和城乡建设局网站大连百度推广优化
  • 东莞设计网站公司被邀请做刷客会不会碰到钓鱼网站
  • 阿里云服务器多个网站南充网络推广
  • 电子商务网站建设规划设计任务书wordpress 有道云笔记
  • 广州市地铁站地图潍坊网站建设方案
  • 买一个网站服务器多少钱企业 怎么建交互网站
  • 国产网站开发工具公司福建新闻最新消息
  • 云主机和云虚拟主机优化教程网站推广排名