电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python使用selenium爬蟲知乎的方法示例

瀏覽:136日期:2022-07-06 18:50:26

說起爬蟲一般想到的情況是,使用 python 中都通過 requests 庫獲取網頁內容,然后通過 beautifulSoup 進行篩選文檔中的標簽和內容。但是這樣有個問題就是,容易被反扒機制所攔住。

反扒機制有很多種,例如知乎:剛開始只加載幾個問題,當你往下滾動時才會繼續往下面加載,而且在往下滾動一段距離時就會出來一個登陸的彈框。

這樣的機制對于通過獲取服務器返回內容的爬蟲方式進行了限制,我們只能獲得前幾個回答,而沒辦法或許后面的回答。

所以需要使用 selenium 模擬真實瀏覽器進行操作。

最終實現效果如下:

python使用selenium爬蟲知乎的方法示例

前提是需要自行搜索教程安裝:

chromeDriver selenium 庫

想要使用下面代碼的可以直接修改 driver.get() 里的地址,然后爬取結果最終會存在message.txt文件中

代碼如下:

from selenium import webdriver # 從selenium導入webdriverfrom selenium.webdriver.common.by import By # 內置定位器策略集from selenium.webdriver.support.wait import WebDriverWait # 用于實例化一個Driver的顯式等待from selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.action_chains import ActionChainsimport timeoption = webdriver.ChromeOptions()option.add_argument('headless')driver = webdriver.Chrome() # chrome_options=option 這個參數設置之后可以隱藏瀏覽器driver.get(’https://www.zhihu.com/question/22110581’) #修改這里的地址file = open('./messages.txt', 'w')def waitFun(): js = ''' let equalNum = 0; window.checkBottom = false; window.height = 0; window.intervalId = setInterval(()=>{ let currentHeight = document.body.scrollHeight; if(currentHeight === window.height){ equalNum++; if(equalNum === 2){clearInterval(window.intervalId);window.checkBottom = true; } }else{ window.height = currentHeight; window.scrollTo(0,window.height); window.scrollTo(0,window.height-1000); } },1500)''' # 這個暫停一下是因為要等待頁面將下面的內容加載出,這個 1500 可以根據自己的網絡快慢進行適當的調節 # 這里需要往上移動一下,因為不往上移動一下發現不會加載。 driver.execute_script(js)# selenium 可以獲取 瀏覽器中 js 的變量。調用的js returndef getHeight(nice): # 這里獲取 js 中的 checkBottom 變量,作為到底部時進行停止。 js = ''' return window.checkBottom; ''' return driver.execute_script(js)try: # 先觸發登陸彈窗。 WebDriverWait(driver, 40, 1).until(EC.presence_of_all_elements_located( (By.CLASS_NAME, ’Modal-backdrop’)), waitFun()) # 點擊空白關閉登陸窗口 ActionChains(driver).move_by_offset(200, 100).click().perform() # 當滾動到底部時 WebDriverWait(driver, 40, 3).until(getHeight, waitFun()) # 獲取回答 answerElementArr = driver.find_elements_by_css_selector(’.RichContent-inner’) for answer in answerElementArr: file.write(’==================================================================================’) file.write(’n’) file.write(answer.text) file.write(’n’) print(’爬取成功 ’+ str(len(answerElementArr)) +’ 條,存入到 message.txt 文件內’)finally: driver.close() #close the driver

這套代碼實現了打開知乎,然后自動向下滑動,當彈出登陸框時,自動點擊左上角關閉登陸框。然后繼續向下滑動,加載頁面,直到滑動到底部。然后將內容寫在 message.txt 文件里面。

selenium 功能非常強大, 可以模擬人為在瀏覽器的操作,進行輸入、點擊、滑動、播放、暫停等等操作,因此也可以用來寫一些腳本,用來刷學時,搶課等等。

到此這篇關于python使用selenium爬蟲知乎的方法示例的文章就介紹到這了,更多相關python selenium爬蟲知乎內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: python
相關文章:
主站蜘蛛池模板: 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 异噻唑啉酮-均三嗪-三丹油-1227-中北杀菌剂厂家| 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 江苏大隆凯科技有限公司| 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 电磁流量计_智能防腐防爆管道式计量表-金湖凯铭仪表有限公司 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 长城人品牌官网| 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 锂离子电池厂家-山东中信迪生电源 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 长城人品牌官网| 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 云南成考网_云南成人高考报名网 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 | 最新电影-好看的电视剧大全-朝夕电影网 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 卷筒电缆-拖链电缆-特种柔性扁平电缆定制厂家「上海缆胜」 |