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小时监控,希望后两天能完成

    推荐阅读