Qt 学习之路 2(1):序(Qt 学习之路 2(1):序)
Qt 学习之路 2(2):Qt 简介(Qt 学习之路 2(2):Qt 简介)
Qt 学习之路 2(3):Hello, world!(Qt 学习之路 2(3):Hello, world!)
Qt 学习之路 2(4):信号槽(Qt 学习之路 2(4):信号槽)
《Qt 学习之路 2》目录(《Qt 学习之路 2》目录)
Qt 学习之路 2(5):自定义信号槽(Qt 学习之路 2(5):自定义信号槽)
Qt 学习之路 2(6):Qt 模块简介(Qt 学习之路 2(6):Qt 模块简介)
Qt 学习之路 2(7):MainWindow 简介(Qt 学习之路 2(7):MainWindow 简介)
Qt 学习之路 2(8):添加动作(Qt 学习之路 2(8):添加动作)
Qt 学习之路 2(9):资源文件(Qt 学习之路 2(9):资源文件)
Qt 学习之路 2(10):对象模型(Qt 学习之路 2(10):对象模型)
Qt 学习之路 2(11):布局管理器(Qt 学习之路 2(11):布局管理器)
Qt 学习之路 2(12):菜单栏、工具栏和状态栏(Qt 学习之路 2(12):菜单栏、工具栏和状态栏)
Qt 学习之路 2(13):对话框简介(Qt 学习之路 2(13):对话框简介)
Qt 学习之路 2(14):对话框数据传递(Qt 学习之路 2(14):对话框数据传递)
Qt 学习之路 2(15):标准对话框 QMessageBox(Qt 学习之路 2(15):标准对话框 QMessageBox)
Qt 学习之路 2(16):深入 Qt5 信号槽新语法(Qt 学习之路 2(16):深入 Qt5 信号槽新语法)
Qt 学习之路 2(17):文件对话框(Qt 学习之路 2(17):文件对话框)
Qt 学习之路 2(18):事件(Qt 学习之路 2(18):事件)
Qt 学习之路 2(19):事件的接受与忽略(Qt 学习之路 2(19):事件的接受与忽略)
Qt 学习之路 2(20):event()(Qt 学习之路 2(20):event())
Qt 学习之路 2(21):事件过滤器(Qt 学习之路 2(21):事件过滤器)
Qt 学习之路 2(22):事件总结(Qt 学习之路 2(22):事件总结)
Qt 学习之路 2(23):自定义事件(Qt 学习之路 2(23):自定义事件)
Qt 学习之路 2(24):Qt 绘制系统简介(Qt 学习之路 2(24):Qt 绘制系统简介)
Qt 学习之路 2(25):画刷和画笔(Qt 学习之路 2(25):画刷和画笔)
Qt 学习之路 2(26):反走样(Qt 学习之路 2(26):反走样)
Qt 学习之路 2(27):渐变(Qt 学习之路 2(27):渐变)
Qt 学习之路 2(28):坐标系统(Qt 学习之路 2(28):坐标系统)
Qt 学习之路 2(29):绘制设备(Qt 学习之路 2(29):绘制设备)
Qt 学习之路 2(30):Graphics View Framework(Qt 学习之路 2(30):Graphics View Framework)
Qt 学习之路 2(31):贪吃蛇游戏(1)(Qt 学习之路 2(31):贪吃蛇游戏(1))
Qt 学习之路 2(32):贪吃蛇游戏(2)(Qt 学习之路 2(32):贪吃蛇游戏(2))
Qt 学习之路 2(33):贪吃蛇游戏(3)(Qt 学习之路 2(33):贪吃蛇游戏(3))
Qt 学习之路 2(34):贪吃蛇游戏(4)(Qt 学习之路 2(34):贪吃蛇游戏(4))
Qt 学习之路 2(35):文件(Qt 学习之路 2(35):文件)
Qt 学习之路 2(36):二进制文件读写(Qt 学习之路 2(36):二进制文件读写)
Qt 学习之路 2(37):文本文件读写(Qt 学习之路 2(37):文本文件读写)
Qt 学习之路 2(38):存储容器(Qt 学习之路 2(38):存储容器)
Qt 学习之路 2(39):遍历容器(Qt 学习之路 2(39):遍历容器)
Qt 学习之路 2(40):隐式数据共享(Qt 学习之路 2(40):隐式数据共享)
Qt 学习之路 2(41):model/view 架构(Qt 学习之路 2(41):model/view 架构)
Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget(Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget)
Qt 学习之路 2(43):QStringListModel(Qt 学习之路 2(43):QStringListModel)
Qt 学习之路 2(44):QFileSystemModel(Qt 学习之路 2(44):QFileSystemModel)
Qt 学习之路 2(45):模型(Qt 学习之路 2(45):模型)
Qt 学习之路 2(46):视图和委托(Qt 学习之路 2(46):视图和委托)
Qt 学习之路 2(47):视图选择(Qt 学习之路 2(47):视图选择)
Qt 学习之路 2(48):QSortFilterProxyModel(Qt 学习之路 2(48):QSortFilterProxyModel)
Qt 学习之路 2(49):自定义只读模型(Qt 学习之路 2(49):自定义只读模型)
Qt 学习之路 2(50):自定义可编辑模型(Qt 学习之路 2(50):自定义可编辑模型)
Qt 学习之路 2(51):布尔表达式树模型(Qt 学习之路 2(51):布尔表达式树模型)
Qt 学习之路 2(52):使用拖放(Qt 学习之路 2(52):使用拖放)
Qt 学习之路 2(53):自定义拖放数据(Qt 学习之路 2(53):自定义拖放数据)
Qt 学习之路 2(54):剪贴板(Qt 学习之路 2(54):剪贴板)
Qt 学习之路 2(55):数据库操作(Qt 学习之路 2(55):数据库操作)
Qt 学习之路 2(56):使用模型操作数据库(Qt 学习之路 2(56):使用模型操作数据库)
Qt 学习之路 2(57):可视化显示数据库数据(Qt 学习之路 2(57):可视化显示数据库数据)
Qt 学习之路 2(58):编辑数据库外键(Qt 学习之路 2(58):编辑数据库外键)
Qt 学习之路 2(59):使用流处理 XML(Qt 学习之路 2(59):使用流处理 XML)
Qt 学习之路 2(60):使用 DOM 处理 XML(Qt 学习之路 2(60):使用 DOM 处理 XML)
Qt 学习之路 2(61):使用 SAX 处理 XML(Qt 学习之路 2(61):使用 SAX 处理 XML)
Qt 学习之路 2(62):保存 XML(Qt 学习之路 2(62):保存 XML)
Qt 学习之路 2(63):使用 QJson 处理 JSON(Qt 学习之路 2(63):使用 QJson 处理 JSON)
Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON(Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON)
Qt 学习之路 2(65):访问网络(1)(Qt 学习之路 2(65):访问网络(1))
Qt 学习之路 2(66):访问网络(2)(Qt 学习之路 2(66):访问网络(2))
Qt 学习之路 2(67):访问网络(3)(Qt 学习之路 2(67):访问网络(3))
Qt 学习之路 2(68):访问网络(4)(Qt 学习之路 2(68):访问网络(4))
Qt 学习之路 2(69):进程(Qt 学习之路 2(69):进程)
Qt 学习之路 2(70):进程间通信(Qt 学习之路 2(70):进程间通信)
Qt 学习之路 2(71):线程简介(Qt 学习之路 2(71):线程简介)
Qt 学习之路 2(72):线程和事件循环(Qt 学习之路 2(72):线程和事件循环)
Qt 学习之路 2(73):Qt 线程相关类(Qt 学习之路 2(73):Qt 线程相关类)
Qt 学习之路 2(74):线程和 QObject(Qt 学习之路 2(74):线程和 QObject)
Qt 学习之路 2(75):线程总结(Qt 学习之路 2(75):线程总结)
Qt 学习之路 2(76):QML 和 QtQuick 2(Qt 学习之路 2(76):QML 和 QtQuick 2)
Qt 学习之路 2(77):QML 语法(Qt 学习之路 2(77):QML 语法)
Qt 学习之路 2(78):QML 基本元素(Qt 学习之路 2(78):QML 基本元素)
Qt 学习之路 2(79):QML 组件(Qt 学习之路 2(79):QML 组件)
Qt 学习之路 2(80):定位器(Qt 学习之路 2(80):定位器)
Qt 学习之路 2(81):元素布局(Qt 学习之路 2(81):元素布局)
Qt 学习之路 2(82):输入元素(Qt 学习之路 2(82):输入元素)
Qt 学习之路 2(83):Qt Quick Controls(Qt 学习之路 2(83):Qt Quick Controls)
Qt 学习之路 2(84):Repeater(Qt 学习之路 2(84):Repeater)
Qt 学习之路 2(85):动态视图(Qt 学习之路 2(85):动态视图)
Qt 学习之路 2(86):视图代理(Qt 学习之路 2(86):视图代理)
Qt 学习之路 2(87):模型-视图高级技术(Qt 学习之路 2(87):模型-视图高级技术)
Qt 学习之路 2(88):Canvas(Qt 学习之路 2(88):Canvas)
Qt 学习之路 2(89):Canvas(续)(Qt 学习之路 2(89):Canvas(续))
Qt 学习之路 2(90):粒子系统(Qt 学习之路 2(90):粒子系统)
Qt 学习之路 2(91):粒子系统(续)(Qt 学习之路 2(91):粒子系统(续))
Qt 学习之路 2(92):QML 存储(Qt 学习之路 2(92):QML 存储)
Qt 学习之路 2(93):使用 C++ 扩展 QML(Qt 学习之路 2(93):使用 C++ 扩展 QML)
Qt 学习之路 2(94):使用 C++ 扩展 QML(续)(Qt 学习之路 2(94):使用 C++ 扩展 QML(续))
Qt 学习之路 2(85):动态视图(Qt 学习之路 2(85):动态视图)
Qt 学习之路 2(86):视图代理(Qt 学习之路 2(86):视图代理)
Qt 学习之路 2(87):模型-视图高级技术(Qt 学习之路 2(87):模型-视图高级技术)
Qt 学习之路 2(88):Canvas(Qt 学习之路 2(88):Canvas)
Qt 学习之路 2(89):Canvas(续)(Qt 学习之路 2(89):Canvas(续))
Qt 学习之路 2(90):粒子系统(Qt 学习之路 2(90):粒子系统)
Qt 学习之路 2(91):粒子系统(续)(Qt 学习之路 2(91):粒子系统(续))
Qt 学习之路 2(92):QML 存储(Qt 学习之路 2(92):QML 存储)
Qt 学习之路 2(93):使用 C++ 扩展 QML(Qt 学习之路 2(93):使用 C++ 扩展 QML)
Qt 学习之路 2(94):使用 C++ 扩展 QML(续)(Qt 学习之路 2(94):使用 C++ 扩展 QML(续))
心酸获取之路,博主的文章不好浏览,故,获取浏览列表啊-----
from selenium import webdriver
import requests
from bs4 import BeautifulSoup
import os
import time
import re
# browser = webdriver.Chrome()
if __name__ == '__main__':
list_container=[]
a=range(20)
# for i in reversed(a):
for i in a:
url = 'https://www.devbean.net/category/qt-study-road-2/page/%d/'% i
# print("路径是%s"%url)
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
}
try:
req = requests.get(url = url,headers = headers)
# print(req.status_code)
# print(req.status_code==requests.codes.ok)
if req.status_code != requests.codes.ok:
continue;
# if req.status_code!=requests.codes.ok
# print(req.status_code)
# break;
req.encoding = 'utf-8'
html = req.text
# print("网页源码%s\n"%html)
bf = BeautifulSoup(html, 'lxml')
# print("网页源码%s\n"%bf.prettify())
targets_url = bf.find_all('h2',class_='title front-view-title')
# for tag in bf.find_all(re.compile("a")):
# print(tag.name)
# print("%s\n"%targets_url)
img_bf_2 = BeautifulSoup(str(targets_url), 'lxml')
# print("网页源码%s\n"%img_bf_2.prettify())
# print("=============================")
# for child in img_bf_2.children:
# print("网页源码%s\n"%child)
# print("网页源码%s\n"%child.string)#取值
# if child.a != None:
# print(" = ["+child.a.get('href')+"]")
for tag in img_bf_2.find_all("a"):
# if tag.a != None:
# print(tag.get('href')+"("+tag.string.replace(":","")+")")
#list_container.append(tag.get('href')+"("+tag.string.replace(":","")+")")
list_container.append("["+tag.string.replace(":","")+"]("+tag.get('href')+")("+tag.string.replace(":","")+")")
# print(tag.name)
# print(tag.string)
# targets_url = img_bf_2.find_all('a')
# print("%s\n"%targets_url)
# isx = BeautifulSoup(str(targets_url), 'lxml')
# print("%s\n"%isx.find_all(attrs={"a":"href"}))
# print(img_bf_2.h2.a.get('href'))
# for child in img_bf_2.body.children:
# print(child)
# for x in bf.a['href']:
# print("%s\n"%x)
# print("%s\n"%bf.a['href'])
# for child in bf.body.children:
# childbf = BeautifulSoup(child, 'lxml')
# print("%s\n"%childbf.prettify())
pass
except Exception as e:
print(e)
raise e
else:
pass
# print("网页异常----")
for x in reversed(list_container):
print(x+"\n")
# browser.get("https://www.devbean.net/category/qt-study-road-2/page/7/")
# print(browser.page_source)
# browser.close()