‘壹’ 如何使用python爬虫获取css伪元素例如:before
:before是css中的一种伪元素,可用于在某个元素之前插入某些内容。 :after是css中的一种伪元素,可用于在某个元素之后插入某些内容。
‘贰’ 如何在python中用find_element_by_css_selector定位网页代码的元素用于click
直接用chrome或者firebug找出路径,现在很少手动找了。然后find_element_by_css_selector("路径").click
‘叁’ python selenium怎么定位复合型css样式的一组元素
类名有了,直接获取值就行了
‘肆’ python爬虫遇到css文件怎么办
1. 获取html页面
其实,最基本的抓站,两句话就可以了
import urllib2
content = urllib2.urlopen('http://XXXX').read()
这样可以得到整个 html 文档,关键的问题是我们可能需要从这个文档中获取我们需要的有用信息,而不是整个文档。这就需要解析充满了各种标签的 html。
2. 解析 html
SGMLParser
Python 默认自带 HTMLParser 以及 SGMLParser 等等解析器,前者实在是太难用了,我就用 SGMLParser 写了一个示例程序:
import urllib2
from sgmllib import SGMLParser
class ListName(SGMLParser):
def __init__(self):
SGMLParser.__init__(self)
self.is_h4 = ""
self.name = []
def start_h4(self, attrs):
self.is_h4 = 1
def end_h4(self):
self.is_h4 = ""
def handle_data(self, text):
if self.is_h4 == 1:
self.name.append(text)
content = urllib2.urlopen('http://list.taobao.com/browse/cat-0.htm').read()
listname = ListName()
listname.feed(content)
for item in listname.name:
print item.decode('gbk').encode('utf8')
很简单,这里定义了一个叫做 ListName 的类,继承 SGMLParser 里面的方法。使用一个变量 is_h4做标记判定 html 文件中的 h4 标签,如果遇到 h4 标签,则将标签内的内容加入到 List 变量 name中。解释一下 start_h4() 和 end_h4() 函数,他们原型是 SGMLParser 中的
start_tagname(self, attrs)
end_tagname(self)
tagname 就是标签名称,比如当遇到 <pre>,就会调用 start_pre,遇到 </pre>,就会调用end_pre。attrs 为标签的参数,以 [(attribute, value), (attribute, value), ...] 的形式传回。
‘伍’ python CSS选择器
>表示父子级别,
a > b,b必须是a的子节点
a b,b是a下的任意子孙节点
你的代码把>换成空格就行了
‘陆’ 网页显示Python查询的数据
可以使用的方法之一:转成json字符串,然后在前端接收json字符串显示。
前后端都你写吗?不是的话,告诉前端你给的是json格式的字符串就好了。
他爱怎么显示怎么显示。
都你写的话,你需要了解html,css,javastript相关知识。
‘柒’ python 使用css 需要导入什么模块
python 使用css 需要导入cssutils,最新版本是1.0.1。
具体使用方法如下:
1、执行以下命令安装最新版本的cssutils
easy_install cssutils
2、在代码中用import命令导入
import cssutils
3、使用cssutil内部一些选择器等的方法
指定命名空间
@namespace html "http://www.w3.org/1999/xhtml";
设置背景色为白色
@variables { BG: #fff }
html|a { color:red; background: var(BG) }'''
sheet = cssutils.parseString(css) 开始解析css
sheet.encoding = 'ascii'
sheet.namespaces['xhtml'] = 'http://www.w3.org/1999/xhtml'
sheet.namespaces['atom'] = 'http://www.w3.org/2005/Atom'
sheet.add('atom|title {color: #000000 !important}')
sheet.add('@import "sheets/import.css";')
print sheet.cssText 打印
‘捌’ python django怎么添加css-CSDN论坛
python django怎么添加
django静态文件配置原理
静态文件配置就是为了让用户请求时django服务器能找到静态文件返回。
首先要理解几个概念:
媒体文件:用户上传的文件
静态文件:css,js,image等
开发环境:使用django内置服务器处理静态文件
生产环境:使用apache2/nginx服务器处理静态文件映射
所以在配置时要分清楚开发环境还是生产环境,这个后面会详细介绍。
下面先介绍一下服务器查找静态文件的原理,这样我们才能更好的配置。
1、django.contrib.staticfiles
django.contrib.staticfiles是django1.3新增的一个app来帮助开发者管理静态文件【js,css等】。
django1.3之前的静态文件都是用MEDIA_URL和MEDIA_ROOT来控制的。
为了将媒体文件【用户上传的文件】和静态文件做区分,django1.3通过MEDIA_XXX配置来处理媒体文件,通过STATIC_XXX配置项来处理静态文件。
staticfiles使开发者可以将静态文件分配到app目录或任意指定目录。
2、MEDIA_XXX和STATIC_XXX配置项的区别
MEDIA_XXX配置项用来管理媒体文件。经常由FileFields字段上传,它们被保存在settings.MEDIA_ROOT指定的目录下,通过settings.MEDIA_URL指定的路径访问。
STATIC_XXX配置项用来管理静态文件。它们通过manage.py collectstatic命令汇集到settings.STATIC_ROOT目录,并通过settings.STATIC_URL指定的路径访问。
‘玖’ python利用css定位如何判断标签和元素
对你的问题如下解答:
CSS语法表达式:
. 点表示class属性,代码案例:“.s_ipt”
[Class= ’s_ipt’] # 同上
# 表示id属性,代码案例: “#kw”
[id=’kw’] # 同上
Tag 定位标签时不需要加特殊符号,直接写标签名称即可。代码案例: “input”
[元素] 其它属性使用中括号定位。代码案例: “[method="post"]”
> 表示为父级标签元素,符号左边为父级,右边为子级。
:nth-child(1) 定位一组标签中的某一个标签,索引从头开始计数(1)。
:nth-last-child(1) 定位一组标签中的某一个标签,索引从尾开始计数(1)。
多元素定位:
同一标签满足(父级/tag/id/class/其它):span>input#kw.s_ipt[name="wd"][autocomplete="off"]
希望我的回答对你有帮助