python|python 爬虫第三天 小项目加扩展无id 重复cssname获取数据与selenium操作
第三天基本小程序写出来,搞定一个动态的网站,里面全是
这里贴出拿取这些数据核心的东西
就是pyquery 和 webdriver
#获取classname的所有列表
def text_index_by_classname(pclassname,cclassname):
print('获取classname的所有列表')
html = browser.page_source
doc = pq(html)
items = doc(pclassname).items()
i = 1;
for item in items:
yield {
'text': item.find(cclassname).text(),
'xh' : i
}
i = i + 1
获取classname中所有classname的内容并编号
#查询栏目并点击进入
for item in text_index_by_classname('###','### '):
print(item)
if item.__getitem__('text') == '篮球':
index=item.__getitem__('xh')
lm = wait.until(EC.element_to_be_clickable(
(By.CSS_SELECTOR,
'body > ######('+str(index)+')')))
lm.click()
if index==0:
print('现在这个栏目没')
这里拿出来后根据顺序号,使用webdriver 进行元素操作,这也是解决绝大多数 无id标签的操作,,要做这个之前要对整个页面的css selector进行评估分析后进行
browser.switch_to.frame(browser.find_element_by_name('framename'))
je = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#cssselector)))
je.send_keys('2')tz=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,cssselector))
tz.click()browser.switch_to.default_content()# 切出
对frame的内容操作要切入切出
def wait_jz(cssselector):
wait.until(EC.element_to_be_clickable(
(By.CSS_SELECTOR,cssselector)))
最重要的就是要等我们页面加载完,然后再操作
【python|python 爬虫第三天 小项目加扩展无id 重复cssname获取数据与selenium操作】关键差不多了,不过这个项目的自动登录不像其他网站那么简单,目前还未成功,
下一步学习前台界面,线程监控24小时监控,希望后两天能完成
推荐阅读
- Python中LSTM回归神经网络的时间序列预测
- Python编辑开发(pycharm pro中文版)
- Python 列表解析式竟然支持异步()
- Python|Python Pandas中合并数据的5个函数使用详解
- python|python scrapy框架中Request对象和Response对象的介绍
- Python利用Seaborn绘制多标签的混淆矩阵
- python|Python-OpenCV-图像通过透视变换矫正
- Docker系列|【Docker系列】Python Flask + Redis 练习程序
- python打包flask|python打包flask 项目_手把手教你将Flask应用封装成Docker服务的实现
- PyAlgoTrade改为Python3版本