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

佛山网站建设 合优wordpress评论图片

佛山网站建设 合优,wordpress评论图片,网站建设中故障分类和排除方法,网站建设图片代码大家好#xff0c;我是东眠的鱼#xff0c;专注原创#xff0c;致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货#xff0c;希望人人都能学到新知识。文末附带精品籽料哦#xff0c;也可以和博主一起学Python呀#xff01; 项目背景 有同学自学爬虫时…大家好我是东眠的鱼专注原创致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货希望人人都能学到新知识。文末附带精品籽料哦也可以和博主一起学Python呀 项目背景 有同学自学爬虫时发现翻页的时候url一直不变。其实他爬取的是较高难度的网页——动态网页。今天给大家介绍动态网页的爬虫! AJAX动态加载网页 一、什么是动态网页 所谓的动态网页是指跟静态网页相对的一种网页编程技术。静态网页随着html代码的生成页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。而动态网页则不然页面代码虽然没有变但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。——来源百度百科 动态网页具有减少工作量、内容更新快、可完成功能多等特点被很多公司所采用比如狗东、某宝、某瓣、某乎等等。 二、什么是AJAX 随着人们对动态网页加载速度的要求越来越高AJAX技术应运而生并成为许多站点的首选。AJAX是一种用于创建快速动态网页的技术通过在后台与服务器进行少量数据交换使网页实现异步更新。这意味着在不重新加载整个网页的情况下可以对网页的某部分进行更新。 三、如何爬取AJAX动态加载网页 1. 解析接口 只要是有数据发送过来那肯定是有发送到服务器的请求的吧。我们只需找出它悄悄加载出的页面的真实请求即可。特点爬取速度快爬取的数据干净有些网站解析难度较大。 2. Selenium selenium是什么呢它本来是个自动化测试工具但是被广泛的用户拿去爬虫了。它是一个工具这个工具可以用代码操作浏览器比如控制浏览器的下滑、模拟鼠标点击等。特点代码较简单爬取速度慢容易被封ip。 项目实操 怎么说了那么多理论说实话也不想那么啰嗦。可是吧这些东西经常会被问到干脆直接写下来下次还有人问就直接把这篇文章发给他一劳永逸 我们拿一个法院信息公示网页举例 那我们就开启爬虫的正确姿势吧先用解析接口的方法来写爬虫。 首先找到真实请求。右键检查点击Network选中XHR刷新网页选择Name列表中的jsp文件。没错就这么简单真实请求就藏在里面。 ‍ 我们再仔细看看这个jsp这简直是个宝啊。有真实请求url有请求方法post有Headers还有Form Data而From Data表示给url传递的参数通过改变参数咱们就可以获得数据 我们再仔细看看这些参数pagesnum参数不就是代表页数嘛我们尝试点击翻页发现只有pagesnum参数会变化。 既然发现了它那就赶紧抓住它。打开PyCharm导入了爬虫所需的库。 1from urllib.parse import urlencode 2import csv 3import random 4import requests 5import traceback 6from time import sleep 7from lxml import etree #lxml为第三方网页解析库强大且速度快 构造真实请求添加Headers。 1base_url http://www.hshfy.sh.cn/shfy/gweb2017/ktgg_search_content.jsp? #这里要换成对应Ajax请求中的链接 2 3headers { 4 Connection: keep-alive, 5 Accept: */*, 6 X-Requested-With: XMLHttpRequest, 7 User-Agent: 你的User-Agent, 8 Origin: http://www.hshfy.sh.cn, 9 Referer: http://www.hshfy.sh.cn/shfy/gweb2017/ktgg_search.jsp?zdsplc, 10 Accept-Language: zh-CN,zh;q0.9, 11 Content-Type: application/x-www-form-urlencoded, 12 Cookie: 你的Cookie 13}构建get_page函数自变量为page也就是页数。以字典类型创建表单data用post方式去请求网页数据。这里要注意要对返回的数据解码编码为’gbk’否则返回的数据会乱码另外我还加了异常处理优化了下以防意外发生。 1def get_page(page): 2 n 3 3 while True: 4 try: 5 sleep(random.uniform(1, 2)) # 随机出现1-2之间的数包含小数 6 data { 7 yzm: yxAH, 8 ft:, 9 ktrqks: 2020-05-22, 10 ktrqjs: 2020-06-22, 11 spc:, 12 yg:, 13 bg:, 14 ah:, 15 pagesnum: page 16 } 17 url base_url urlencode(data) 18 print(url) 19 try: 20 response requests.request(POST,url, headers headers) 21 #print(response) 22 if response.status_code 200: 23 re response.content.decode(gbk) 24 # print(re) 25 return re # 解析内容 26 except requests.ConnectionError as e: 27 print(Error, e.args) # 输出异常信息 28 except (TimeoutError, Exception): 29 n - 1 30 if n 0: 31 print(请求3次均失败放弃此url请求,检查请求条件) 32 return 33 else: 34 print(请求失败重新请求) 35 continue构建parse_page函数对返回的网页数据进行解析用Xpath提取所有字段内容保存为csv格式。有人会问为这么喜欢用Xpath因为简单好用啊 1def parse_page(html): 2 try: 3 parse etree.HTML(html) # 解析网页 4 items parse.xpath(//*[idreport]/tbody/tr) 5 for item in items[1:]: 6 item { 7 a: .join(item.xpath(./td[1]/font/text())).strip(), 8 b: .join(item.xpath(./td[2]/font/text())).strip(), 9 c: .join(item.xpath(./td[3]/text())).strip(), 10 d: .join(item.xpath(./td[4]/text())).strip(), 11 e: .join(item.xpath(./td[5]/text())).strip(), 12 f: .join(item.xpath(./td[6]/div/text())).strip(), 13 g: .join(item.xpath(./td[7]/div/text())).strip(), 14 h: .join(item.xpath(./td[8]/text())).strip(), 15 i: .join(item.xpath(./td[9]/text())).strip() 16 } 17 #print(item) 18 try: 19 with open(./law.csv, a, encodingutf_8_sig, newline) as fp: 20 # a为追加模式添加 21 # utf_8_sig格式导出csv不乱码 22 fieldnames [a, b, c, d, e,f,g,h,i] 23 writer csv.DictWriter(fp,fieldnames) 24 writer.writerow(item) 25 except Exception: 26 print(traceback.print_exc()) #代替print e 来输出详细的异常信息 27 except Exception: 28 print(traceback.print_exc())最后遍历一下页数调用一下函数。OK搞定 1 for page in range(1,5): #这里设置想要爬取的页数 2 html get_page(page) 3 #print(html) 4 print(第 str(page) 页提取完成) 我们来看一下最终效果 结 语 总结一下对于AJAX动态加载网页爬虫一般就两种方式解析接口Selenium。这次就先介绍了解析接口方式个人还是推荐解析接口的方式如果解析的是json数据就更好爬了。实在没办法了再用Selenium吧。 最后 如果你对Python感兴趣的话可以试试我整理的这份Python全套学习资料【点击这里】领取 包括Python激活码安装包、Python web开发Python爬虫Python数据分析人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python ① Python所有方向的学习路线图清楚各个方向要学什么东西 ② 100多节Python课程视频涵盖必备基础、爬虫和数据分析 ③ 100多个Python实战案例学习不再是只会理论 ④ 华为出品独家Python漫画教程手机也能学习 ⑤ 历年互联网企业Python面试真题,复习时非常方便******
http://www.hkea.cn/news/14398128/

相关文章:

  • 郑州做网站擎天北京做微信网站哪家好
  • 西安专业手机网站建设价格建设网站的政策风险分析
  • 学网站开发要什么基础建设银行对公打不开网站
  • 怎么做秒赞网站平台推广应用
  • 罗湖网站设计多少钱百度收录好的网站排名
  • win7用iis搭建网站长春网站改版
  • 淘宝联盟的网站怎么做的小米网站 用什么做的
  • 保定网站建设方案咨询数字创意设计包括哪些行业
  • wordpress照片评选插件网站建设优化之优化关键字
  • 西安网站建设招骋如何导入wordpress
  • 中山网站建设平台怎么建设网站赚钱
  • 安徽蚌埠怀远县建设局网站wordpress好用的会员插件
  • 合肥网站建设培训班专门做男装的网站
  • 中国建设布网站网络营销与直播电商
  • 新丝路网站建设数据分析公司
  • 淘宝上的网站建设可信网站制作网站设计
  • 化工企业网站jsp化妆品推广软文
  • php做网站需要注意什么页面设计高度
  • 集思吧网站怎么做问卷集团公司网站模板
  • 网站建设培训ppt网站描本链接怎么做
  • 华东建设发展设计有限公司网站全定制网站开发
  • 手机如何创建个人网站h5 移动 网站 开发
  • 网站后期建设wordpress 七牛云 cdn
  • 科技公司内蒙古网站制作商品详情页设计图
  • 东莞市网站建设分站公司百度广告代理商
  • 深圳网站开发一薇一级a做爰片免费网站 小说
  • 网站开发项目管理文档济南公司网站开发
  • 设计品牌网站免费软件网站大全
  • 建设公司网站费用怎么做账网页图片制作
  • 专业网站建设的意义浙江网站建设哪家权威