木三136 2021-03-29 19:49 采纳率: 78.9%
浏览 46
已采纳

python 爬虫 还是 关于知乎的 问题

具体 就是我用selenium访问知乎 然后想搜索某篇文章 提示 似乎出了点什么 问题

   

代码在这里

#-*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver import ChromeOptions
import os
import json
import time


def browser_initial():
    #导入避免被发现是selenium的工具
    option = ChromeOptions()
    option.add_experimental_option('excludeSwitches', ['enable-automation'])

    browser = webdriver.Chrome(executable_path='../chromedriver.exe',options=option)

    goal_url = 'https://www.zhihu.com/'
    #未携带Cookies
    browser.get('https://www.zhihu.com/')
    return goal_url, browser


def log_ZHIHU(browser,goal_url):
    # 从本地读取cookies
    with open('ZhiHu_cookies.txt', 'r', encoding='utf8') as f:
        listCookies = json.loads(f.read())
    for cookie in listCookies:
        cookie_dict = {
            'domain': '.zhihu.com',
            'name': cookie.get('name'),
            'value': cookie.get('value'),
            'path': '/',
            'httpOnly': False,
            'secure': False
        }

        browser.add_cookie(cookie_dict)
    browser.maximize_window()
    #测试用搜索
    browser.refresh() #刷新网页
    return browser
def Seracr(browser):
    Seracr_Input=browser.find_element_by_class_name('Input')
    Text=input("输入你想搜索的文章的内容")
    Seracr_Input.send_keys(Text)
    time.sleep(5)
    Seracr_Button=browser.find_element_by_class_name('Button')
    Seracr_Button.click()

if __name__ == '__main__':
    tur = browser_initial()
    bro=log_ZHIHU(tur[1],tur[0])
    Seracr(bro)
  • 写回答

5条回答 默认 最新

  • 木三136 2021-05-29 09:12
    关注

    之前解决了问题忘了写答案了,现在补上一下

    解决思路就是通过使用一个已经打开了的浏览器,来避免知乎发现是使用的selenium模块

    添加如下代码即可

    
        option = ChromeOptions()
        option.debugger_address ="127.0.0.1:9222"
        browser = webdriver.Chrome(executable_path='chromedriver.exe的路径',options=option)
        #需要注意的是要使用 popen 来运行命令 如果使用 system 会出错
        os.popen('chrome.exe --remote-debugging-port=9222 --user-data-dir="Chrome的路径"')
    

    解决方法来自https://blog.csdn.net/qq254271304/article/details/103493969这位大佬的博客 

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装