博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python(4) 小程序-异步加载
阅读量:7212 次
发布时间:2019-06-29

本文共 2686 字,大约阅读时间需要 8 分钟。

注:处理异步加载需要模拟浏览器登陆,然后用import json,用loads解析

例如:

代码:

1 #! /usr/bin/env python 2 # -*- coding=utf-8 -*- 3 import requests 4 import json 5 import re 6 import sys 7 reload(sys) 8 sys.setdefaultencoding("utf-8") 9 classinfo = []10 f = open('info.txt','w')11 12 num = 013 def write(htm):14     titl = re.findall('data-tit(.*?)data-enough',htm.text,re.S)15     for each in titl:16         print each17         info = {}18         #print each19         info['title'] = re.search('le="(.*?)"',each,re.S).group(1)20         info['year'] = re.search('data-release="(.*?)" data',each,re.S).group(1)21         info['Rating']= re.findall('data-rate="(.*?)" data-star',each,re.S)[0]22         info['time'] = re.findall('data-duration="(.*?)" data-re',each,re.S)[0]23         info['reg'] = re.findall('data-region="(.*?)" data-dir',each,re.S)[0]24         info['act'] = re.findall('data-actors="(.*?)" data-in',each,re.S)[0]25         global num26         num = num + 127         f.writelines('%d\n' %num)28         f.writelines(u'电影名:'+info['title'] + '\n')29         f.writelines(u'主演:'+info['act'] + '\n')30         f.writelines(u'电影地区:' + info['reg']+'\n')31         f.writelines(u'上映年份:' + info['year']+'\n')32         f.writelines(u'电影时长:' + info['time']+'\n')33         f.writelines(u'评分:' + info['Rating']+'\n\n')34 def write1(info):35     global num36     num = num + 137     f.writelines('%d\n' %num)38     f.writelines(u'电影名:'+info['title'] + '\n')39     f.writelines(u'评分:' + info['Rating']+'\n')40     f.writelines(u'链接:'+info['url'] + '\n\n')41 def getry():42     # html = requests.get('http://movie.douban.com/')43     url = 'http://movie.douban.com/'44     html = requests.get(url)45     html.encoding = 'utf-8'46     #print html.text47     write(html)48 def getrm():49     info = {}50     url  = 'http://movie.douban.com/j/search_subjects?type=movie&tag=热门&sort=recommend&page_limit=20&page_start=0'51     head = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0'}52 html = requests.get(url,headers = head)53 for i in range(0,16):54 newurl = re.sub('start=\d+','start=%d'%(i*20),url,re.S)55 #print newurl56 jscontent = requests.get(newurl,headers = head).content57 jsdict = json.loads(jscontent)#将json解析成表文件58 for i in range(0,20):59 #print jsdict['subjects'][i]['url']60 info['title'] = jsdict['subjects'][i]['title']61 info['Rating'] = jsdict['subjects'][i]['rate']62 info['url'] = jsdict['subjects'][i]['url']63 write1(info)64 if __name__ == "__main__":65 getry()66 getrm()

效果图:

转载于:https://www.cnblogs.com/lovychen/p/5145248.html

你可能感兴趣的文章
HUT-1694 零用钱 贪心
查看>>
ERP框架开发中的License许可验证机制设计与实现 (包含源代码下载)
查看>>
Log4j2使用总结
查看>>
Hibernate级联操作 注解
查看>>
三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点
查看>>
android 跨进程点击方式总结
查看>>
小隐隐于野:基于TCP反射DDoS攻击分析
查看>>
一种避免 iOS 内存碎片的方法
查看>>
hook NSArray 方法在debug模式下会崩溃, 在release模式下会返回nil
查看>>
用Canvas创造一个太阳系
查看>>
Kotlin基础六
查看>>
『中级篇』容器网络之host和none(29)
查看>>
感恩节快乐,PM2小窍门致NodeJS开发者!
查看>>
每日源码分析 - Lodash(remove.js)
查看>>
iOS 文字样式处理总结(字体、前背景色、斜体、加粗、对齐、行间距、段间距、动态获取字符串label宽高等)...
查看>>
登录与注册 艺术与业务 的结合
查看>>
iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge
查看>>
Swift @escaping @noescape
查看>>
Vert.x MySQLClient体验
查看>>
高性能消息中间件——NATS
查看>>