当前位置 博文首页 > 展开阅读全文 js 爬虫操作_weixin_39532466的博客:python展

    展开阅读全文 js 爬虫操作_weixin_39532466的博客:python展

    作者:[db:作者] 时间:2021-08-27 10:08

    from selenium import webdriver

    import time

    import random

    from bs4 import *

    browser = webdriver.Chrome()

    url = 'https://so.gushiwen.org/shiwenv_ee16df5673bc.aspx'

    browser.get(url)

    ck_l_ori_len = len(browser.find_elements_by_link_text('展开阅读全文 ∨'))

    ck_l_ori_ok = 0

    try:

    for isc in range(100):

    if ck_l_ori_ok == ck_l_ori_len:

    break

    time.sleep(1)

    js = 'window.scrollTo(0,document.body.scrollHeight)'

    js = 'window.scrollTo(0,100*{})'.format(isc)

    browser.execute_script(js)

    ck_l = browser.find_elements_by_link_text('展开阅读全文 ∨')

    for i in ck_l:

    try:

    i.click()

    ck_l_ori_ok += 1

    except Exception as e:

    print(e)

    except Exception as e:

    print('window.scrollTo-->', e)

    # ck_l=browser.find_elements_by_link_text('展开阅读全文 ∨')

    # for i in ck_l:

    # try:

    # i.click()

    # except Exception as e:

    # print(e)

    xp_l = ['//*[@id="fanyi967"]/div/div[3]/a', ]

    myhtml = 'D:\\myhtml\\{}gushiwen.tmp.html'.format(random.randint(123, 999))

    with open(myhtml, 'w', encoding='utf-8') as fw:

    fw.write(browser.page_source)

    sql = 'INSERT INTO parent_url (page_title,page_url,children_url) VALUES '

    with open(myhtml, 'r', encoding='utf-8') as myhtml_o:

    bs = BeautifulSoup(myhtml_o, 'html.parser')

    dd = 9

    a_=document.getElementsByTagName('a');le=a_.length;for(i=0;i

    a_=document.getElementsByTagName('a');le=a_.length;for(i=0;i

    from selenium import webdriver

    import time

    import random

    from bs4 import *

    browser = webdriver.Chrome()

    url = 'https://so.gushiwen.org/shiwenv_ee16df5673bc.aspx'

    browser.get(url)

    # ck_l_ori_len = len(browser.find_elements_by_link_text('展开阅读全文 ∨'))

    # ck_l_ori_ok = 0

    # try:

    # for isc in range(100):

    # if ck_l_ori_ok == ck_l_ori_len:

    # break

    # time.sleep(1)

    # js = 'window.scrollTo(0,document.body.scrollHeight)'

    # js = 'window.scrollTo(0,100*{})'.format(isc)

    # browser.execute_script(js)

    # ck_l = browser.find_elements_by_link_text('展开阅读全文 ∨')

    # for i in ck_l:

    # try:

    # i.click()

    # ck_l_ori_ok += 1

    # except Exception as e:

    # print(e)

    # except Exception as e:

    # print('window.scrollTo-->', e)

    js = "a_=document.getElementsByTagName('a');le=a_.length;for(i=0;i

    try:

    browser.execute_script(js)

    except Exception as e:

    print(e)

    ck_l_ori_len = len(browser.find_elements_by_link_text('展开阅读全文 ∨'))

    ck_l_ori_ok = 0

    try:

    for isc in range(100):

    if ck_l_ori_ok == ck_l_ori_len:

    break

    time.sleep(1)

    js = 'window.scrollTo(0,document.body.scrollHeight)'

    js = 'window.scrollTo(0,100*{})'.format(isc)

    browser.execute_script(js)

    ck_l = browser.find_elements_by_link_text('展开阅读全文 ∨')

    for i in ck_l:

    try:

    i.click()

    ck_l_ori_ok += 1

    except Exception as e:

    print(e)

    except Exception as e:

    print('window.scrollTo-->', e)

    from selenium import webdriver

    import time

    import random

    from bs4 import *

    from pyquery import PyQuery as pq

    browser = webdriver.Chrome()

    url = 'https://so.gushiwen.org/shiwenv_ee16df5673bc.aspx'

    browser.get(url)

    js = "a_=document.getElementsByTagName('a');le=a_.length;for(i=0;i

    try:

    browser.execute_script(js)

    except Exception as e:

    print(e)

    ck_l_ori_len = len(browser.find_elements_by_link_text('展开阅读全文 ∨'))

    ck_l_ori_ok = 0

    try:

    for isc in range(100):

    if ck_l_ori_ok == ck_l_ori_len:

    break

    time.sleep(1)

    js = 'window.scrollTo(0,document.body.scrollHeight)'

    js = 'window.scrollTo(0,100*{})'.format(isc)

    browser.execute_script(js)

    ck_l = browser.find_elements_by_link_text('展开阅读全文 ∨')

    for i in ck_l:

    try:

    i.click()

    ck_l_ori_ok += 1

    except Exception as e:

    print(e)

    except Exception as e:

    print('window.scrollTo-->', e)

    doc = pq(browser.page_source)

    pq_r_d = {'xmlns="http://www.w3.org/1999/xhtml"': ''}

    r_k, r_v = 'xmlns="http://www.w3.org/1999/xhtml"', ''

    article_ = doc('.left>:nth-child(2).sons>.cont>.contson').html().replace(r_k, r_v)

    title_d = {'h1': doc('.left>:nth-child(2).sons>.cont>:nth-child(2)').html().replace(r_k, r_v)}

    author_d = {'h3': doc('.left>:nth-child(2).sons>.cont>:nth-child(3)').text()}

    translation_ = doc('.left>:nth-child(4)>.contyishang>:nth-child(2)').html().replace(r_k, r_v)

    explanation_ = doc('.left>:nth-child(4)>.contyishang>:nth-child(3)').html().replace(r_k, r_v)

    refer_ = doc('.left>:nth-child(4)>.cankao').html().replace(r_k, r_v)

    author_img_url = doc('.left>.sonspic>.cont>.divimg>:nth-child(1)').html().split('src="')[-1].split('"')[0]

    d = 4

    JS脚本实现CSDN免登陆免关闭广告插件自动展开“阅读更多”内容

    最近在CSDN查资料,总是弹出以下弹窗,然后就自动跳转到登录页面,蛋疼! 于是重新捣腾了一下,修改了原来的脚本,最新的脚本代码如下: 温馨提示:在打开CSDN页面后立刻执行以下脚本即可免登陆免关闭广告 ...

    jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象

    这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...

    Node.js爬虫-爬取慕课网课程信息

    第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让 ...

    吐槽CSDN--想钱想疯了--阅读全文需要关闭广告屏蔽

    吐槽CSDN 想钱想疯了–阅读全文需要关闭广告屏蔽 近来csdn开始主推博客皮肤升级,说白了就是有一套新的盈利模式,具体怎么操作呢: 1. 采用信息流方式,博客内容变成类似朋友圈.微博.知乎那样的信息 ...

    页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作

    页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...

    CSDN不登录阅读全文(最新更新

    CSDN真的烦...然而没卵用 用stylus加两行css就行了: .article_content{height:auto!important} .hide-article-box{display: ...

    vue实现文章内容过长点击阅读全文功能

    直接上代码: html:

    随机推荐

    Navicat Premium下sql导入中文乱码解决方案

    今天帮忙朋友找bug的时候,准备导入她数据库里面的数据,所以我就试图在mysql管理工具Navicat下面导入相应的mysql命令.结果发现导入的中文字符全部变成乱码,所以做了如下这种尝试: 在“连接 ...

    &lbrack;&period;net 面向对象编程基础&rsqb; &lpar;21&rpar; 委托

    [.net?面向对象编程基础]?(20)??委托 上节在讲到LINQ的匿名方法中说到了委托,不过比较简单,没了解清楚没关系,这节中会详细说明委托. 1. 什么是委托? 学习委托,我想说,学会了就感觉简 ...

    Tasks&period;Parallel

    .Net多线程编程-System.Threading.Tasks.Parallel ? System.Threading.Tasks.Parallel类提供了Parallel.Invoke,Paral ...

    Ubuntu安装samba的问题

    问题: root@ubuntu:~# apt-get install samba 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果 ...

    mysql binlog参数设置

    1.mysql有许多系统变量,可以设置,系统变量设置不同,不同的系统将导致执行状态. 故mysql提供两组命令,分别查看系统设置和执行状态. 1.系统设置: SHOW [GLOBAL | SESSIO ...

    Java ArrayList、Vector和LinkedList等的差别与用法(转)

    Java ArrayList.Vector和LinkedList等的差别与用法(转) ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都 ...

    前端chrome浏览器调试

    引言 "工欲善其事,必先利其器" 恩,这句话我觉得说的特别有道理,举个例子来说吧,厉害的化妆师都有一套非常专业的刷子,散粉刷负责定妆,眼影刷负责打眼影,各司其职,有了专业的工具才能 ...

    OTB数据库上各tracker评测结果

    后面两张success plot分别是按照threshold和auc排序 各tracker说明: Year2015: [CF2] 实验结果比论文中的结果好,原因是我运行的是作者后期又更新过的代码,作者 ...

    剥开比原看代码16:比原是如何通过&sol;list-transactions显示交易信息的

    作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...

    cs