使用webmagic爬取网页信息以及通过selenium进行页面元素操作

前言

本篇文章主要讲解如何使用webmagic技术来实现网页的爬取,

以及使用selenium操作页面元素,实现点击、输入事件

所用技术

1.webmagic

添加需要爬取的url

Spider.create(new MyProcessor()).addUrl("https://www.cnblogs.com/").thread(5).run();
   
   
   
   

在process里面抓取符合条件的内容 


   
   
   
   
  1. public void process(Page page) {
  2. //判断链接是否符合http://www.cnblogs.com/任意个数字字母-/p/7个数字.html格式
  3. if(!page.getUrl().regex( "http://www.cnblogs.com/[a-z 0-9 -]+/p/[0-9]{7}.html").match()){
  4. //加入满足条件的链接
  5. page.addTargetRequests(
  6. page.getHtml().xpath( "//*[@id=\"post_list\"]/div/div[@class='post_item_body']/h3/a/@href").all());
  7. } else{
  8. *[@id="post_list"]/div[5]/div[2]/h3/a
  9. //获取页面需要的内容
  10. System.out.println( "抓取的内容:"+
  11. page.getHtml().xpath( "//*[@id=\"Header1_HeaderTitle\"]/text()").get()
  12. );
  13. count ++;
  14. }
  15. }

2.selenium

以今日头条为例对页面元素(“关注”按钮)进行点击

设置驱动

System.setProperty("webdriver.chrome.driver", "CHROMEPATH/chromedriver.exe");
        
   
   
   
   

初始化driver

WebDriver driver = new ChromeDriver();
   
   
   
   

进入页面

driver.get("https://www.toutiao.com/c/user/relation/4492956276/?tab=followed#mid=4492956276");
   
   
   
   

 获取所需元素

WebElement submit = li.findElement(By.cssSelector(".submit"));
   
   
   
   

 点击

submit.click();
   
   
   
   

自动点击效果

 

你可能感兴趣的:(编程,web)