机器能做的事就别让人来做!
目标: 抓取特定微信公众号文章
思路:利用selenium模拟浏览器行为,进行抓取(理由:搜狗已将文章链接进行处理,且页面为动态生成)
框架:
步骤:
1、登录搜狗
a、找到登录按钮并点击
self.browser.find_element_by_id("loginbtn").click() 此时产生一个登录的iframe,其中还嵌套一个iframe,都是动态生成的,内嵌于该页面的另一个新的html页面,我们需要 定位到第二个iframe才能进行真正的登录操作 b、定位到登录界面的实际iframe
self.browser.switch_to.frame(0) time.sleep(10) self.browser.switch_to.frame("ptlogin_iframe") // ptlogin_iframe为实际登录界面的iframe c、 实现qq快捷登录 利用qq实现快速登录,前提是你已登录自己的qq账号,然后在页面直接点击你的qq头像即可实现登录操作。当然,你也可以通过账号/密码实现登录。
self.browser.find_element_by_id("qlogin_list").find_element_by_xpath("a").click() // 找到你的qq头像对应的元素位置并点击
2、抓取文章
搜狗页面呈现方式: