Android使用webview获取网站源码

最近在使用webview去获取网页的源码,但是对于百度百家号的文章,网页的源代码获取出来只要标题,内容不见了,想问问有没有大佬知道这个问题。去用python直接获取的话是正常的内容,应该不是网页限制的原因。

上图是使用webview得到的网页源代码,下图是python获取的网页源代码

使用python的代码

#encoding:UTF-8
import urllib
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
url = "https://baijiahao.baidu.com/s?id=1647156988761941852&wfr=spider&for=pc"
data = urllib.urlopen(url).read()
data = data.decode('UTF-8')
def storageToLocalFiles(storagePath, data):fhandle = open(storagePath,"wb")fhandle.write(data)fhandle.close()
storagePath = r'\Users\roger\Desktop\FridaHook\1.html'
storageToLocalFiles(storagePath,data)
print(data)

使用Android Studio实现的获取网页源码

package com.example.webview;import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;import android.annotation.SuppressLint;import android.webkit.JavascriptInterface;import androidx.annotation.RequiresApi;import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;public class MainActivity extends Activity {private WebView webView;@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)@SuppressLint("JavascriptInterface")/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView = (WebView)findViewById(R.id.webview);webView.getSettings().setAllowFileAccess(true);webView.getSettings().setDomStorageEnabled(true);webView.getSettings().setJavaScriptEnabled(true);webView.getSettings().setAllowFileAccessFromFileURLs(true);webView.getSettings().setDefaultTextEncodingName("utf-8");//webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0");webView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");webView.setWebViewClient(new MyWebViewClient());webView.loadUrl("https://www.baidu.com");}final class MyWebViewClient extends WebViewClient{public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}public void onPageStarted(WebView view, String url, Bitmap favicon) {Log.d("WebView","onPageStarted");super.onPageStarted(view, url, favicon);}public void onPageFinished(WebView view, String url) {Log.d("WebView","onPageFinished ");view.loadUrl("javascript:window.local_obj.showSource('<head>'+" +"document.getElementsByTagName('html')[0].innerHTML+'</head>');");super.onPageFinished(view, url);}}final class InJavaScriptLocalObj {@SuppressLint("JavascriptInterface")@JavascriptInterfacepublic void showSource(String html) {Log.e("123", "123");Log.e("HTML", html);//将网页源码输出到/data/data/files/data中FileOutputStream out = null;BufferedWriter writer = null;try{Log.e("info1","write");out = openFileOutput("data", Context.MODE_PRIVATE);writer = new BufferedWriter(new OutputStreamWriter(out));writer.write(html);}catch (IOException e){e.printStackTrace();Log.e("info2","notwrite");}finally {try {Log.e("info","write");if (writer != null) {writer.close();}} catch (IOException e) {Log.e("error","notwrite");e.printStackTrace();}}}}}

Android使用webview获取百度百家号网站源码相关推荐

  1. 百度百家号作者昵称、ID、粉丝数量获取

    最近在练习爬虫,试了试爬取百度百家号的作者粉丝数量,文中代码纯属练习专用. import requests import re import json from urllib import parse ...

  2. 百度百家号“漏洞”大曝光 一篇文章十几万阅读量 收入上万

    越来越发现自媒体的好处,就是现在太多的平台都提供入口,基本是四大门户还有三大巨头互联网公司,百度.腾讯 .阿里都提供!那么接下来我要分享的是中国最大的搜索引擎公司-百度!,相信最近很多人都知道百度百家 ...

  3. 采集百度百家号动态加载的数据信息

    问题:采集百度百家号 文章.动态.视频 的标题 ,发布时间 ,播放量 ,视频文件 阅读数等 代码: # coding = utf-8 import os import re import time i ...

  4. 企业如何借助百度百家号进行网络推广?

    有些中小企业的网络推广需求很简单,就是想网上搜自己的品牌关键词及产品关键词能搜到自己企业的信息,这个最简单的方法就是用百度的百家号.百家号认证蓝V之后会增加一个百家名片的展示,且会给一些流量支持,相对 ...

  5. 【报告分享】2021内容行业研究报告-百度百家号新榜(附下载)

    摘要:近年来,用户对内容消费的需求迅速增加,内容平台百家齐放,为创作者提供了多种选择的机会.为进一步盘点目前内容行业的生态,加深创作者对内容行业发展现状及趋势的认知,为创作者更好地实现个人价值和商业价 ...

  6. 李彦宏直播首秀:来百度百家号APP带货没问题

    李彦宏直播首秀:来百度百家号APP带货没问题 直播作为一个新的媒体形式,通过百度平台来表达信息,来表达知识,那是非常必要的,所以我自己也想亲自体会,我有可能一些问题是比较偏门的问题,在百度里头搜不一定 ...

  7. 如何查看百度百家号审核进度

    百度百家号是一个比较新的自媒体,前段时间刚开放注册,但需要审核,有的朋友说秒过,有的反映说一直在等待审核中,如下图所示.百度占据了很大的流量入口,特别是pc端,然后又开放了作者广告收入模块,所以百家号 ...

  8. 计算机毕业设计Java宠物之家电子商务网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java宠物之家电子商务网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java宠物之家电子商务网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B ...

  9. 心已死,搜索引擎百度百家号已死!

    近日,我的百家号被百度封停!这让我不得不反思! 在现如今的自媒体时代,创作者们的无奈和心酸,既要满足用户的需要,取悦好用户,又得看自媒体平台的脸色,稍有不顺,可能要你所有的付出当是竹篮打水一场空.使我 ...

最新文章

  1. Druid 配置 wallfilter
  2. 3d触控怎么测试软件,如何检测iPhone 8的3D Touch灵敏度
  3. Institute for Manufacturing virtual check in part 1
  4. 用国产CH32替代STM32,快来试试看!
  5. XSL学习笔记6 XSLT内置模板规则
  6. [vue] vue使用v-for遍历对象时,是按什么顺序遍历的?如何保证顺序?
  7. java学习(177):获取应用程序的路径
  8. html4基础,HTML 基础 4
  9. Pudb调试python
  10. 实录:有钱男性的真实私生活
  11. 傅里叶变换@(stft和istft)
  12. ASP.NET Core 下的依赖注入(一)
  13. mysql datetime设置now()无效,直接用程序设置默认值比较好
  14. 【转载】大型网站性能
  15. C语言自制小游戏:三子棋(井字棋)游戏(超详细)
  16. 固态硬盘用软件测试掉速严重,固态硬盘掉速别慌张,教你如何快速进行调节!...
  17. html跳转按钮谷歌浏览器点击没反应,网页打印的按钮无效,点击打印没有任何反映!求解!...
  18. 使用 Illustrator 中组合形状的方法详解
  19. 计算机组成原理00h,计算机组成原理 (2).doc
  20. 中国移动云mas短信对接(http)

热门文章

  1. Alex-Net结构之LRP解析(局部响应规范化LRP 与 批规范化操作BN 对比)
  2. 万泽云库平台怎么样,靠谱么
  3. 企业信使运营管理平台3.0专业版功能介绍
  4. 不露脸不剪辑,自媒体适合没有颜值没有才艺的人,3个月挣2W多
  5. 2021年中国防潮垫市场趋势报告、技术动态创新及2027年市场预测
  6. 手写汉字识别和多字分割
  7. 使用WPS的API出现检索 COM 类工厂中 CLSID 的组件失败,原因是出现以下错误: 80040154 没有注册解决办法
  8. 野火stm32h743xih6 touchgfx显示屏点亮(一)
  9. 阿里云安全管家服务重磅发布!
  10. 在使用亚马逊云服务器遇到的问题,我们应该如何取消按需实例内容