分析AJAX抓取今日头条街拍美图(下)
来源:互联网 发布:淘宝无线端是什么意思 编辑:程序博客网 时间:2024/05/21 17:43
视频学习
构造AJAX请求
import requestsfrom urllib.parse import urlencodefrom requests.exceptions import RequestExceptiondef get_page_index(offset,keyword): #dict data = { 'offset':offset, 'format':'json', 'keyword':keyword, 'autoload':'true', 'count':'20', 'cur_tab':3 } #urlencode change the dict to the request parameters url='http://www.toutiao.com/search_content/?'+urlencode(data) try: response = requests.get(url) if response.status_code==200: return response.text return None except RequestException: print ("请求索引页出错!") return None
根据返回的JSON数据提取article_url
import json# parse JSON and get the url for each articledef parse_page_index(html): data=json.loads(html) #filter the object without data if data and 'data' in data.keys(): for item in data.get('data'): #yield construct generation yield item.get('article_url')
requests请求某篇文章
#get the any one articledef get_page_detail(url): try: response = requests.get(url) if response.status_code==200: return response.text return None except RequestException: print ("请求详情页出错!") return None
gallery遍历中提取图像集的image_url
from bs4 import BeautifulSoupimport redef parse_page_detail(html,url): print ('详情页解析结果:') soup = BeautifulSoup(html,'lxml') title = soup.select('title')[0].get_text() print (title) #define regulation and select the mode images_pattern = re.compile('var gallery = (.*?);',re.S) result = re.search(images_pattern,html) #result is a JSON need to parse the image url if result: #print (result.group(1)) data=json.loads(result.group(1)) if data and 'sub_images' in data.keys(): sub_images=data.get('sub_images') #list images=[item.get('url') for item in sub_images] return{ 'title':title, 'url':url, 'images':images }
综上
def main(): html = get_page_index(0,'街拍') #print (html) for url in parse_page_index(html): print (url) html=get_page_detail(url) if html: result=parse_page_detail(html,url) print (result)if __name__=='__main__': main()
运行结果
py文件下载
- 构造AJAX请求
- 根据返回的JSON数据提取article_url
- requests请求某篇文章
- gallery遍历中提取图像集的image_url
- 综上
- 运行结果
0 0
- 分析AJAX抓取今日头条街拍美图(下)
- 分析AJAX抓取今日头条街拍美图(上)
- 分析AJAX抓取今日头条街拍美图(存储)
- 分析Ajax请求抓取今日头条街拍美图
- Python爬虫-分析Ajax抓取今日头条街拍美图
- ajax动态抓取今日头条街拍美图
- requests分析Ajax来爬取今日头条街拍美图
- 分析Ajax请求并爬取下载今日头条街拍美图
- python爬今日头条(ajax分析)
- 使用python抓取并分析数据-链家网(下)
- 使用python3分析Ajax爬取今日头条上的街拍美图
- 抓取今日头条文章
- 抓取今日头条新闻
- 【Python学习】Mac下用python+pypcap+dpkt抓取IP数据包并分析(一)
- js抓取今日头条文章
- Mac下利用RVI抓取iPhone网络数据包分析
- mac下抓取分析iphone数据包 - 使用Wireshark
- 使用Wireshark mac下抓取分析iphone数据包 --IOS端
- 7、构造和析构-上
- string练习 全排列
- Data truncation: Incorrect datetime value: '' for column 'pdate' at row 1
- [Caffe]:关于 Error parsing text-format Caffe.NetParameter: xxx.xx : Expected interger or identifier.
- win10下Android Studio2.3设置java环境
- 分析AJAX抓取今日头条街拍美图(下)
- 数据库事务的四大特性以及事务的隔离级别
- 求导方法
- 微信小程序入门之构建一个简单TODOS应用
- SQL数据定义、数据查询、数据操纵、数据控制
- 深度学习:卷积神经网络基础
- Unity3D 官方教程:WebGL(二)
- android接入微信支付(真的很简单,几行代码就搞定了)
- 电子电路基础知识——电压源