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

襄阳网站建设公司关于单位网站建设的

襄阳网站建设公司,关于单位网站建设的,seo网站优化培训公司,贵阳市网站开发图灵Python课堂 长沙图灵教育于2001年开始进入教育行业#xff0c;立足泛IT类职业教育#xff0c;以打造高新技术人才为宗旨#xff0c;专注于提供多层次、个性化的职业技能培训课程#xff0c;为各行业培养技术开发、应用和管理等岗位的中高端人才#xff0c;致力于成为… 图灵Python课堂 长沙图灵教育于2001年开始进入教育行业立足泛IT类职业教育以打造高新技术人才为宗旨专注于提供多层次、个性化的职业技能培训课程为各行业培养技术开发、应用和管理等岗位的中高端人才致力于成为优质的职业教育内容提供商。 01 Python优势 对于网络爬虫开发来说Python有着无与伦比天然优势这里从两个方面对其优势进行分析与讲解。 1、抓取网页本身的电商商品详情API接口 相比其他静态编程语言如java、c#与cPython抓取网页文档的接口更简洁而对比其他动态脚本语言如perlshellPython的urllib包提供了较为完整的访问网页文档的API。 此外抓取网页有时候需要模拟浏览器的行为很多网站对于生硬的爬虫抓取都是封杀的。此时需要模拟user agent的行为来构造合适的请求模拟用户登录、模拟session/cookie的存储和设置。在Python里都有非常优秀的第三方包帮助搞定这些工作如Requestsmechanize。 2、网页抓取后的处理 抓取的网页通常需要处理比如过滤html标签提取文本等。Python的beautifulsoap提供了简洁的文档处理功能能用极短的代码完成大部分文档的处理。 其实以上功能很多语言和工具都能做但是用Python能够干得最快最干净。 Life is short, you need python. PSpython2.x和python3.x有很大不同本文只讨论python3.x的爬虫实现方法。 02 爬虫框架 URL管理器管理待爬取的url集合和已爬取的url集合传送待爬取的url给网页下载器。 网页下载器urllib爬取url对应的网页存储成字符串传送给网页解析器。 网页解析器BeautifulSoup解析出有价值的数据存储下来同时补充url到URL管理器。 03 URL管理器 基本功能 添加新的url到待爬取url集合中。 判断待添加的url是否在容器中包括待爬取url集合和已爬取url集合。 获取待爬取的url。 判断是否有待爬取的url。 将爬取完成的url从待爬取url集合移动到已爬取url集合。 存储方式 1、内存python内存 待爬取url集合set() 已爬取url集合set() 2、关系数据库mysql urls(url, is_crawled) 3、缓存redis 待爬取url集合set 已爬取url集合set 大型互联网公司由于缓存数据库的性能高所以一般把url存储在缓存数据库中。小型公司一般把url存储在内存中要永久存储则存储到关系数据库中。 05 网页下载器urllib 将url对应的网页下载到本地存储成一个文件或字符串。 基本方法 新建baidu.py内容如下 import urllib.request response urllib.request.urlopen(http://www.baidu.com)buff response.read()html buff.decode(utf8)print(html) 命令行中执行python baidu.py则可以打印出获取到的页面。 构造Request 上面的代码可以修改为 import urllib.requestrequest urllib.request.Request(http://www.baidu.com)response urllib.request.urlopen(request)buff response.read()html buff.decode(utf8)print(html) 携带参数 新建baidu2.py内容如下 import urllib.requestimport urllib.parse url http://www.baidu.comvalues {name: voidking,language: Python}data urllib.parse.urlencode(values).encode(encodingutf-8,errorsignore)headers { User-Agent : Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 }request urllib.request.Request(urlurl, datadata,headersheaders,methodGET)response urllib.request.urlopen(request)buff response.read()html buff.decode(utf8)print(html) 使用Fiddler监听数据 要查看请求是否真的携带了参数需使用fiddler。 添加处理器 import urllib.requestimport http.cookiejar# 创建cookie容器cj http.cookiejar.CookieJar()# 创建openeropener urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))# 给urllib.request安装openerurllib.request.install_opener(opener)# 请求request urllib.request.Request(http://www.baidu.com/)response urllib.request.urlopen(request)buff response.read()html buff.decode(utf8)print(html)print(cj) 06 网页解析器BeautifulSoup 从网页中提取出有价值的数据和新的url列表。 解析器选择 为了实现解析器可以选择使用正则表达式、html.parser、BeautifulSoup、lxml等这里选择BeautifulSoup。其中正则表达式基于模糊匹配而另外三种则是基于DOM结构化解析。 BeautifulSoup安装测试 1、安装在命令行下执行pip install beautifulsoup4。 2、测试 import bs4print(bs4) 基本用法 1、创建BeautifulSoup对象 import bs4from bs4 import BeautifulSoup # 根据html网页字符串创建BeautifulSoup对象html_doc htmlheadtitleThe Dormouses story/title/headbodyp classtitlebThe Dormouses story/b/pp classstoryOnce upon a time there were three little sisters; and their names werea hrefhttp://example.com/elsie classsister idlink1Elsie/a,a hrefhttp://example.com/lacie classsister idlink2Lacie/a anda hrefhttp://example.com/tillie classsister idlink3Tillie/a;and they lived at the bottom of a well./pp classstory.../psoup BeautifulSoup(html_doc)print(soup.prettify()) 2、访问节点 print(soup.title)print(soup.title.name)print(soup.title.string)print(soup.title.parent.name) print(soup.p)print(soup.p[class]) 3、指定tag、class或id print(soup.find_all(a))print(soup.find(a))print(soup.find(class_title))print(soup.find(idlink3))print(soup.find(p,class_title)) 4、从文档中找到所有a标签的链接 for link in soup.find_all(a):    print(link.get(href)) 出现了警告根据提示在创建BeautifulSoup对象时指定解析器即可。 soup BeautifulSoup(html_doc,html.parser) 5、从文档中获取所有文字内容 print(soup.get_text()) 6、正则匹配 link_node soup.find(a,hrefre.compile(rtil))print(link_node)
http://www.zqtcl.cn/news/72394/

相关文章:

  • 东莞住房和城乡建设厅网站免费建立个人网站官网
  • 阳狮做网站品牌建设经费投入占销售比重
  • 外贸网站建设的重要性营销型网站工程
  • 网站能看出建设时间吗wordpress+推荐插件
  • 网站建设公司如何做大文山专业网站建设联系电话
  • 亚马逊跨境电商入门完整教程宁波seo网络推广选哪家
  • 网站收录查询系统wordpress只显示摘要
  • 一学一做看视频网站有哪些wordpress前后登录
  • 有没有做网站的网站怎样建设友情链接
  • 网站服务器 安全网站搭建公司
  • 内蒙古自治区建设厅网站首页打开网页就是2345网址导航
  • 做的比较好的货运网站网页设计期末考试作品
  • 大连做网站优化物流官网网站
  • wordpress网页和软件西宁软件优化网站建设
  • 有什么好的设计网站网站平台需要做无形资产吗 怎么做6
  • 手机网站建设哪家强网页制作网站素材
  • 南京市鼓楼区建设局网站自己给网站做logo
  • 赤城网站建设wordpress链接插件
  • 零代码建站郑州网站开发
  • 开网站需要什么流程做旅行网站的依据及意义
  • 洛阳网站推广怎么做广州智能建站
  • 比较冷门的视频网站做搬运凡客诚品衣服
  • 科技网站实例科技袁人
  • 鞍山在百度做个网站多少钱广州教育平台登录入口
  • 电商网站成功的营销策略莱芜的招聘平台
  • 公共服务标准化的意义seo是啥
  • 做网站开发注册工商户可以么站长申论
  • 网站顶部设计访问网站 流程图
  • 电商类网站怎么做推广做打鱼网站犯法不
  • 常熟有哪些网站建设公司重庆建设招标造价信息网站