亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

crawler - 如何在 Python 爬蟲中完成 JavaScript 函數翻頁?

瀏覽:100日期:2022-06-28 16:18:43

問題描述

本人爬取一個網頁時注意到它的翻頁時靠這樣的一個函數實現的, 翻頁之后頁面網址也不變:

<input name='goto2' onclick='dirGroupMblogToPage(document.getElementById(’dirGroupMblogcp2’).value)' type='button' value='Go'/> </input> function dirGroupMblogToPage(currentPage){ jQuery.post('dirGroupMblog.action', {'page.currentPage':currentPage,gid:MI.TalkBox.gid}, function(data){$('#talkMain').html(data);window.scrollTo(0, $css.getY(MI.talkList._body)-65); });}

crawler - 如何在 Python 爬蟲中完成 JavaScript 函數翻頁?

寫了這樣的函數試圖實現翻頁:

def login_page(login_url, content_url, usr_name='******@126.com', passwd='******'): # 實現登錄, 返回Session對象和獲得的頁面 post_data = {’r’: ’on’, ’u’: usr_name, ’p’: passwd} s = requests.Session() s.post(login_url, post_data) r = s.get(content_url) return s, rdef turn_page(s, next_page, content_url): post_url = 'http://sns.icourses.cn/dirGroupMblog.action' post_headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36','X-Requested-With':'XMLHttpRequest'} post_data = {'page.currentPage': next_page, 'gid': 2632} s.post(post_url, data=post_data, headers = post_headers) res = s.get(content_url) return res

但是調用turn_page()之后沒能實現翻頁。請問應該怎么解決這個問題? 另外請問想要解決好這類問題需要自學哪些方面的知識呢?謝謝!

問題解答

回答1:

推薦使用 selenium

例如,如果需要點擊界面上,下一頁的按鈕,或者說需要輸入上下左右鍵,頁面可以翻頁,selenium webdriver可以做到,給出一個參考(我以前用來爬起點中文網的小說)

selenium 可以與頁面進行交互,單擊,雙擊,輸入,等待頁面加載(隱式等待,和顯式等待)。。。。

from selenium import webdriver# from selenium.webdriver.common.keys import Keys#driver = webdriver.PhantomJS(executable_path='D:phantomjs-2.1.1-windowsbinphantomjs')# 我的windows 已配置環境變量,不需指定 executable_path,使用 Chrome需要對應的瀏覽器以及驅動程序driver = webdriver.Chrome()# url 為你需要加載的頁面urlurl = ’http://sns.icourses.cn/*****’# 打開頁面driver.get(url)# 在你的例子中,是需要點擊 button ,通過class 屬性獲取到button,然后執行單擊 .click()# 如果需要準確定位,可以自行搜索其他的 find_driver.find_element_by_class_name('buttonJump').click()# selenium webdriver 還有很多其它高級的用法,自行谷歌,你這個問題,搜索應該是能得到答案的,回答2:

分幾種情況,1、頁面上通過 js 效果實現滑動或者點擊實現翻頁;2、頁面上通過超鏈接點擊實現翻頁;

可以通過 chrome 的開發者工具中的 network 分析得到結果反會的是 html 頁面還是反饋 json 渲染。json 的話就好辦了,直接拿結果。普通html 頁面需要使用正則匹配到換頁。然后將鏈接放入待爬的池子中。

/a/11...

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成年女人a毛片免费视频 | 国产精品99久久久 | 亚洲美女在线视频 | 日韩在线不卡 | 国产情趣酒店鸳鸯浴在线观看 | 久久精品国产99久久6动漫欧 | 国产一区二区视频在线播放 | 亚洲第一页综合 | 最新久久 | 乱爱性全过程免费视频 | 在线精品国内视频秒播 | 久久久久久免费精品视频 | 污在线观看 | 一级片视频在线 | 人喾交性专区免费看 | 国产图片亚洲精品一区 | 久久综合九色综合97婷婷群聊 | 91一区二区午夜免费福利网站 | 91在线|亚洲 | 久久精品免观看国产成人 | 亚洲国产精品a一区二区三区 | 成人午夜毛片 | 免费高清毛片 | 亚洲欧美在线播放 | 久久综合精品国产一区二区三区无 | 国产一级片观看 | 亚洲第五色综合网 | 国产caonila在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 18岁免费网站 | 亚洲网站在线免费观看 | 又粗又大又爽 真人一级毛片 | 免费jizz在线播放视频高清版 | 九色精品高清在线播放 | 一级毛片免费看 | 全黄毛片| 精品亚洲一区二区 | 日韩在线视屏 | 玖玖爱视频在线观看 | 国产小视频免费观看 | 一级特黄aaa大片29 |