from pymongo import MongoClient
# 获取链接
c1 = MongoClient('localhost',27017)
c2 = MongoClient('mongodb://localhost:27017')
# 获取数据库实例
db = c1.sxt
db2 = c1["sxt"]
print(db == db2)
# 获取集合
p1 = db.person
p2 = db['person']
print(p1==p2)
#操作数据
for p in p1.find():
print(p)
连接没问题,输出不出来数据
我想问一下老师的这些md文件使用什么软件打开的,用别的总是没他那个效果
from time import sleep # 导入sleep模块,用于控制程序休眠 from selenium.webdriver import Edge, EdgeOptions # 导入Edge和EdgeOptions类,用于创建Edge浏览器驱动 from selenium.webdriver.common.by import By # 导入By类,用于定义定位元素的方式 from lxml import etree # 导入etree模块,用于解析HTML源码 def huya(): # 定义一个名为huya的函数 options = EdgeOptions() # 创建一个EdgeOptions对象 edge = Edge(options=options) # 使用EdgeOptions对象创建一个Edge浏览器实例 # 向浏览器发送命令,向新文档添加一个脚本 edge.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, 'webdriver', { get: () => false }) """ }) edge.get("https://www.huya.com/g/lol") # 打开指定网页 edge.implicitly_wait(10) # 设置隐式等待时间为10秒 edge.switch_to.frame('UDBSdkLgn_iframe') # 切换到名称为'UDBSdkLgn_iframe'的iframe框架 # 定位id为'close-udbLogin'的元素,并点击 edge.find_element(By.ID, 'close-udbLogin').click() count = 1 # 初始化计数器为1 while True: # 进入循环,直到条件不满足为止 sleep(1) # 休眠1秒 e = etree.HTML(edge.page_source) # 将浏览器页面源码解析为HTML对象 names = e.xpath('//a[@class="title"]/text()') # 使用xpath定位方式获取所有a标签中class为"title"的文本内容 persons = e.xpath('//i[@class="nick"]/text()') # 使用xpath定位方式获取所有i标签中class为"nick"的文本内容 hots = e.xpath('//i[@class="js-num"]/text()') # 使用xpath定位方式获取所有i标签中class为"js-num"的文本内容 for name, person, hot in zip(names, persons, hots): # 遍历name、person和hot列表 print(f'直播间:{name},主播:{person},热度:{hot}') # 打印直播间名称、主播和热度信息 print(f'第{count}页') # 打印当前页码 count += 1 # 计数器加1 try: next_btn = edge.find_element(By.XPATH, '//a[@class="laypage_next"]') # 定位class为"laypage_next"的元素 next_btn.click() # 点击定位到的元素 except Exception as e: # 如果发生异常,捕获异常信息并命名为e break # 跳出循环 edge.quit() # 关闭浏览器 if __name__ == '__main__': # 如果程序作为主程序运行 huya() # 调用huya函数
while True下面那个sleep不写的话就太快了导致点不到下一页,但隐式等待没起到作用吗?
老师,如果我这里写的是is,控制台会爆出SyntaxWarning: "is" with a literal. Did you mean "=="?
这个可以去掉吗?
要不就是新版本mt报错chmod: changing permissions of '269953fb.0': Read-only file system,给的mt直接就有问题,反正就没对的,也不修一下课,也不给解决方案666
老师,现在视频基本上就是用request对象发送请求了,之前学习了urllib是不是被淘汰了?
老师这个要怎么弄
self.new_url = set() 这行代码时什么意思不懂。
set()方法 没有封装怎么可以直接用呢?这个set()方法是什么意思啊?
老师 这是什么情况 安装包已经有了,还是报错
好了我已经解决了,这个问题占我太长时间很烦,
mount -o rw,remount /system
通过这句话我就成功了
老师, 在视频前面,确定要爬取的内容是否在静态页面的时候, 是怎么直接对书面"全军列阵"进行直接鼠标选定复制,然后在网页源代码里进行查询.
我这边复制不了, 鼠标移动到书名上就变成小手点击了,
老师,这里的fake-useragent还是报错,明明已经安装好了,试了好几次也不行,他显示的是没有安装此模块。
from urllib.request import Request,build_opener from fake_useragent import UserAgent from urllib.parse import urlencode from urllib.request import HTTPCookieProcessor from http.cookiejar import MozillaCookieJar def get_cookie(): login_url = 'https://www.docin.com/app/login' # 设置账号密码 form_data = { 'user': '18310640655', 'password': '199759guo' } # 设置请求头 headers = {"User-Agent": UserAgent().random} # 封装函数 req = Request(login_url, headers=headers, data=urlencode(form_data).encode()) #自己保存cookie cookie_jar =MozillaCookieJar() # 保存cookie handler = HTTPCookieProcessor(cookie_jar) opener = build_opener(handler) resp = opener.open(req) #无论我的cookie是否过期都将保存下来 cookie_jar.save('cookie.txt',ignore_discard=True,ignore_expires=True) def use_cookie(): info_url = 'https://www.docin.com/' headers = {'User-Agent':UserAgent().random} req = Request(info_url,headers=headers) #加载cookie信息 cookie_jar = MozillaCookieJar() cookie_jar.load('cookie.txt',ignore_discard=True,ignore_expires=True) handler = HTTPCookieProcessor(cookie_jar) #将信息放到控制器里面 opener = build_opener(handler) resp = opener.open(req) print(resp.read().decode()) if __name__ == '__main__': get_cookie() use_cookie()
老师,我尝试用cookie登录豆丁网,为什么我保存下来的cookie信息是这样的。并且无法登录
不遵守协议会不会有事的,或者怎么判断不遵守协议也无所谓
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637