导航:首页 > 编程语言 > python爬app数据手机号

python爬app数据手机号

发布时间:2022-08-05 00:51:26

A. 如何进行手机APP的数据爬取

python爬虫手机的步骤:

1. 下载fiddler抓包工具

2. 设置fiddler

这里有两点需要说明一下。

设置允许抓取HTTPS信息包

操作很简单,打开下载好的fiddler,找到 Tools -> Options,然后再HTTPS的工具栏下勾选Decrpt HTTPS traffic,在新弹出的选项栏下勾选Ignore server certificate errors。

设置允许外部设备发送HTTP/HTTPS到fiddler

相同的,在Connections选项栏下勾选Allow remote computers to connect,并记住上面的端口号8888,后面会使用到。

好了,需要的fiddler设置就配置完成了。

3. 设置手机端

设置手机端之前,我们需要记住一点:电脑和手机需要在同一个网络下进行操作。

可以使用wifi或者手机热点等来完成。

假如你已经让电脑和手机处于同一个网络下了,这时候我们需要知道此网络的ip地址,可以在命令行输入ipconfig简单的获得,如图。

好了,下面我们开始手机端的设置。

手机APP的抓取操作对于android和Apple系统都可用,博主使用的苹果系统,在此以苹果系统为例。

进入到手机wifi的设置界面,选择当前连接网络的更多信息,在苹果中是一个叹号。然后在最下面你会看到HTTP代理的选项,点击进入。

进入后,填写上面记住的ip地址和端口号,确定保存。

4. 下载fiddler安全证书

在手机上打开浏览器输入一个上面ip地址和端口号组成的url:http://192.168.43.38:8888,然后点击FiddlerRoot certificate下载fiddler证书。

以上就简单完成了所有的操作,最后我们测试一下是否好用。

5. 手机端测试

就以知乎APP为例,在手机上打开 知乎APP。下面是电脑上fiddler的抓包结果。

结果没有问题,抓到信息包。然后就可以使用我们分析网页的方法来进行后续的操作了。

B. 用python写的爬虫将数据传给android怎么实现

初期不需要登录的网站比较简单,掌握http get post和urllib怎么模拟,掌握lxml、BeautifulSoup等parser库就可以了,多用firefox的firebug或者chrome的调试工具看浏览器是怎么发包的。上面都是不需要登录不需要下文件就可以做到的。

C. 谁说Python不克不及爬取APP上面的数据

function nTabs(thisObj,Num){
if(thisObj.className == "active")return;
var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++)
{

D. 手机APP 上面的内容 python 有办法抓取到吗

可以,但是不提倡这种行为
1,在手机上设置代理,代理到你的电脑上
2,再在电脑上用tcpmp或者其他图形化的抓包工具获得数据包,分析这些数据包找到你要的数据
3,根据前两步的结果,写代码模拟app的操作获得你需要的数据

E. 想用Python抓包(keep APP),进而修改数据,得到伪造的结果,有什么具体方案吗

用fiddler抓包,获取post的地址,然后伪造表单,用requests.post()把表单内容发过去试试。

F. python爬到的数据怎么在自己制作的手机App

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

G. 谁说Python不能爬取APP上面的数据

抓包吗?????????????????

H. python 怎么爬取app端数据

可以,但是不提倡这种行为 1,在手机上设置代理,代理到你的电脑上 2,再在电脑上用tcpmp或者其他图形化的抓包工具获得数据包,分析这些数据包找到你要的数据 3,根据前两步的结果,写代码模拟app的操作获得你需要的数据

I. 如何利用python 爬取知乎上面的数据

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Administrator
# @Date: 2015-10-31 15:45:27
# @Last Modified by: Administrator
# @Last Modified time: 2015-11-23 16:57:31
import requests
import sys
import json
import re
reload(sys)
sys.setdefaultencoding('utf-8')

#获取到匹配字符的字符串
def find(pattern,test):
finder = re.search(pattern, test)
start = finder.start()
end = finder.end()
return test[start:end-1]

cookies = {
'_ga':'GA1.2.10sdfsdfsdf', '_za':'8d570b05-b0b1-4c96-a441-faddff34',
'q_c1':'23ddd234234',
'_xsrf':'234id':'"ZTE3NWY2ZTsdfsdfsdfWM2YzYxZmE=|1446435757|"',
'z_c0':'"=|14464e234767|"',
'__utmt':'1', '__utma':'51854390.109883802f8.1417518721.1447917637.144c7922009.4',
'__utmb':'518542340.4.10.1447922009', '__utmc':'51123390', '__utmz':'5185435454sdf06.1.1.utmcsr=hu.com|utmcgcn=(referral)|utmcmd=referral|utmcct=/',
'__utmv':'51854340.1d200-1|2=registration_date=2028=1^3=entry_date=201330318=1'}

headers = {'user-agent':
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',
'referer':'http://www.hu.com/question/following',
'host':'www.hu.com','Origin':'http://www.hu.com',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Connection':'keep-alive','X-Requested-With':'XMLHttpRequest','Content-Length':'81',
'Accept-Encoding':'gzip,deflate','Accept-Language':'zh-CN,zh;q=0.8','Connection':'keep-alive'
}

#多次访问之后,其实一加载时加载20个问题,具体参数传输就是offset,以20递增

dicc = {"offset":60}
n=20
b=0

# 与爬取图片相同的是,往下拉的时候也会发送http请求返回json数据,但是不同的是,像模拟登录首页不同的是除了
# 发送form表单的那些东西后,知乎是拒绝了我的请求了,刚开始以为是headers上的拦截,往headers添加浏览器
# 访问是的headers那些信息添加上,发现还是拒绝访问。

#想了一下,应该是cookie原因。这个加载的请求和模拟登录首页不同
#所以补上其他的cookies信息,再次请求,请求成功。
for x in xrange(20,460,20):
n = n+20
b = b+20
dicc['offset'] = x
formdata = {'method':'next','params':'{"offset":20}','_xsrf':''}

#传输需要json串,和python的字典是有区别的,需要转换
formdata['params'] = json.mps(dicc)
# print json.mps(dicc)
# print dicc

circle = requests.post("http://www.hu.com/node/ProfileFollowedQuestionsV2",
cookies=cookies,data=formdata,headers=headers)

#response内容 其实爬过一次之后就大同小异了。 都是
#问题返回的json串格式
# {"r":0,
# "msg": ["<div class=\"zm-profile-section-item zg-clear\">\n
# <span class=\"zm-profile-vote-count\">\n<div class=\"zm-profile-vote-num\">205K<\/div>\n
# <div class=\"zm-profile-vote-type\">\u6d4f\u89c8<\/div>\n
# <\/span>\n<div class=\"zm-profile-section-main\">\n
# <h2 class=\"zm-profile-question\">\n
# <a class=\"question_link\" target=\"_blank\" href=\"\/question\/21719532\">
# \u4ec0\u4e48\u4fc3\u4f7f\u4f60\u8d70\u4e0a\u72ec\u7acb\u5f00\u53d1\u8005\u4e4b\u8def\uff1f<\/a>\n
# <\/h2>\n<div class=\"meta zg-gray\">\n<a data-follow=\"q:link\" class=\"follow-link zg-unfollow meta-item\"
# href=\"javascript:;\" id=\"sfb-868760\">
# <i class=\"z-icon-follow\"><\/i>\u53d6\u6d88\u5173\u6ce8<\/a>\n<span class=\"zg-bull\">•<\/span>\n63 \u4e2a\u56de\u7b54\n<span class=\"zg-bull\">•<\/span>\n3589 \u4eba\u5173\u6ce8\n<\/div>\n<\/div>\n<\/div>",
# "<div class=\"zm-profile-section-item zg-clear\">\n
# <span class=\"zm-profile-vote-count\">\n
# <div class=\"zm-profile-vote-num\">157K<\/div>\n
# <div class=\"zm-profile-vote-type\">\u6d4f\u89c8<\/div>\n
# <\/span>\n<div class=\"zm-profile-section-main\">\n
# <h2 class=\"zm-profile-question\">\n
# <a class=\"question_link\" target=\"_blank\" href=\"\/question\/31764065\">
# \u672c\u79d1\u6e23\u6821\u7684\u5b66\u751f\u5982\u4f55\u8fdb\u5165\u7f8e\u5e1d\u725b\u6821\u8bfbPhD\uff1f<\/a>\n
# <\/h2>\n<div class=\"meta zg-gray\">\n
# <a data-follow=\"q:link\" class=\"follow-link zg-unfollow meta-item\" href=\"javascript:;\" id=\"sfb-4904877\">
# <i class=\"z-icon-follow\"><\/i>\u53d6\u6d88\u5173\u6ce8<\/a>\n<span class=\"zg-bull\">•
# <\/span>\n112 \u4e2a\u56de\u7b54\n<span class=\"zg-bull\">•<\/span>\n1582 \u4eba\u5173\u6ce8\n
# <\/div>\n<\/div>\n<\/div>"]}
# print circle.content

#同样json串需要自己 转换成字典后使用
jsondict = json.loads(circle.text)
msgstr = jsondict['msg']
# print len(msgstr)

#根据自己所需要的提取信息规则写出正则表达式
pattern = 'question\/.*?/a>'
try:
for y in xrange(0,20):
wholequestion = find(pattern, msgstr[y])
pattern2 = '>.*?<'
finalquestion = find(pattern2, wholequestion).replace('>','')
print str(b+y)+" "+finalquestion

#当问题已经访问完后再传参数 抛出异常 此时退出循环
except Exception, e:
print "全部%s个问题" %(b+y)
break

阅读全文

与python爬app数据手机号相关的资料

热点内容
红塔银行app怎么样 浏览:562
农行app怎么开网银 浏览:649
java迭代器遍历 浏览:301
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:203
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751