import requests
from pyquery import PyQuery as pq
import json
import jsonpath
from lxml import etree
import os html = '''
<div>
<ul>
<li class="item-0">first item</li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
<li class="item-1 active"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a></li>
</ul>
</div>
'''
html = requests.get('http://news.4399.com/gonglue/lscs/kptj/').content.decode('gbk')
num = 0
def pq方法():
global num
doc = pq(html)
items = doc('#dq_list > li').items()
# print(doc)
# print(type(doc))
for item in items:
url=item.find('img').attr('lz_src')
num+=1
print(str(num),url)
url_content=requests.get(url).content
name = item.find('.kp-name').text() with open('e:/py3/002/'+'{:0>4}'.format(str(num))+name+'.jpg','wb') as file:
file.write(url_content)
# print(url,name) def lxml方法():
print(html)
global num
r=etree.HTML(html)
# items=r.xpath("//div[@class='box10-content']//ul[@id='dq_list']/li/a/img/@lz_src")
items=r.xpath("//div[@class='box10-content']//ul[@id='dq_list']/li/a")
# print(items)
for item in items:
kpname=item.xpath("./div/text()")[0]
lzsrc=item.xpath("./img/@lz_src")[0]
num+=1
print(kpname,lzsrc)
lzcontent=requests.get(lzsrc).content
with open('e:/py3/003/'+'{:0>4}'.format(str(num))+'_'+kpname+'.jpg','wb')as file:
file.write(lzcontent) if __name__ == '__main__':
# pq方法()
lxml方法() # 创建目录
'''
for dirnum in range(1,100):
dirnum2='{:0>3}'.format(str(dirnum))
mkpath="e:\\py3\\{}\\".format(dirnum2)
print(mkpath)
print('已存在!') if os.path.exists(mkpath) else os.makedirs(mkpath)
''' '''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc) print(soup.prettify()) # 结构化输出文档
print(soup.title) # 获取title标签
print(soup.title.name) # 获取title标签名称
print(soup.title.parent.name)
print(soup.p['class'])
'''

lxml 和 pyquery 示例 爬 卡牌的更多相关文章

  1. [Swift]LeetCode950. 按递增顺序显示卡牌 | Reveal Cards In Increasing Order

    In a deck of cards, every card has a unique integer.  You can order the deck in any order you want. ...

  2. 使用UIKit制作卡牌游戏(三)ios游戏篇

    译者: Lao Jiang | 原文作者: Matthijs Hollemans写于2012/07/13 转自朋友Tommy 的翻译,自己只翻译了这第三篇教程. 原文地址: http://www.ra ...

  3. leetcode《按递增顺序显示卡牌》

    题目描述: 牌组中的每张卡牌都对应有一个唯一的整数.你可以按你想要的顺序对这套卡片进行排序. 最初,这些卡牌在牌组里是正面朝下的(即,未显示状态). 现在,重复执行以下步骤,直到显示所有卡牌为止: 从 ...

  4. 在WebGL场景中管理多个卡牌对象的实验

    这篇文章讨论如何在基于Babylon.js的WebGL场景中,实现多个简单卡牌类对象的显示.选择.分组.排序,同时建立一套实用的3D场景代码框架.由于作者美工能力有限,所以示例场景视觉效果可能欠佳,本 ...

  5. Leetcode950. Reveal Cards In Increasing Order按递增顺序显示卡牌

    牌组中的每张卡牌都对应有一个唯一的整数.你可以按你想要的顺序对这套卡片进行排序. 最初,这些卡牌在牌组里是正面朝下的(即,未显示状态). 现在,重复执行以下步骤,直到显示所有卡牌为止: 从牌组顶部抽一 ...

  6. BZOJ 4205: 卡牌配对

    4205: 卡牌配对 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 173  Solved: 76[Submit][Status][Discuss] ...

  7. CCOrbitCamera卡牌翻转效果

    static CCOrbitCamera* create(float t, float radius, float deltaRadius, float angleZ, float deltaAngl ...

  8. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  9. JLOI 2013 卡牌游戏

    问题描述: N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡片上的数字为X,则庄家首先 ...

随机推荐

  1. day13——重要内置函数、匿名函数、闭包

    day13 内置函数2 重要的 abs():求绝对值--返回的都是正数 # lst = [-1,-2,-3] # for i in lst: # print(abs(i)) # print([abs( ...

  2. hdu 1427 速算24点【暴力枚举】

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. golang学习笔记 ---常用第三方包

    包的介绍 包类似Java中概念,jar是源代码管理,分发的最小单位. 目前多数包来自 Github官方包来自 golang.org/x/... 可以在如下网址查询到高频使用的第三方包清单https:/ ...

  4. c# 结构体实现数据新增(数据字段较多的情况使用) 一

    点击新增按钮 { ChkFormIDBox.Text = Coeno.DevChk.DevChk.CleanUpInput(ChkFormIDBox.Text);  --清除表单文本框数据输入 if ...

  5. 异常来自 HRESULT:0x8007000B

    这个是64位应用32位产生的问题.相信大家搜索的时候很多都是建议改把项目的AnyCPU改成X86,可是很不幸我的改不了. 终于搜索了半天后发现,IIS里解决才是根本办法: .在IIS配置里面启用32位 ...

  6. ssm(spring+springmvc+mybatis)整合之环境配置

    1-1.导包 导入SpringMVC.Spring.MyBatis.mybatis-spring.mysql.druid.json.上传和下载.验证的包 1-2.创建并配置web.xml文件 配置sp ...

  7. windows开机自启动的django服务

    做了一个django项目,想部署在win10的笔记本电脑上,可以开机后台自动启动.找了很多的方法.最后成功了. 参考了这个博主的内容. https://blog.csdn.net/qq_3595961 ...

  8. ABAP-JCO服务错误

    1.错误如下图,需SM59调整Unicode,保持JCO服务启动时与SAP-SM59设置Unicode一致.

  9. weblogic unable to get file lock问题

    非正常结束weblogic进程导致weblogic无法启动 由于先前服务器直接down掉了,所有进程都非正常的进行关闭了,也就导致了下次启动weblogic的时候报了以下错误: <2012-3- ...

  10. 如何选择优秀的APS系统供应商?问自己这几个问题!

    高级的计划和排程和生产排程软件的好处是巨大的.然而,生产排程软件不是商品,尚不能保证您选择的任何高级的计划和排程软件能满足您的所有需求. 那么,我们来谈谈如何选择适合你的公司最好的生产排程软件.这需要 ...