作者专注于Java、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料
前言
先赞后看,此生必赚!
本篇文章主要讲解如何使用webmagic技术来实现网页的爬取,
以及使用selenium操作页面元素,实现点击、输入事件
所用技术
1.webmagic
添加需要爬取的url:
Spider.create(new MyProcessor()).addUrl("https://www.cnblogs.com/").thread(5).run();
在process里面抓取符合条件的内容:
public void process(Page page) {
//判断链接是否符合http://www.cnblogs.com/任意个数字字母-/p/7个数字.html格式
if(!page.getUrl().regex("http://www.cnblogs.com/[a-z 0-9 -]+/p/[0-9]{7}.html").match()){
//加入满足条件的链接
page.addTargetRequests(
page.getHtml().xpath("//*[@id=\"post_list\"]/div/div[@class='post_item_body']/h3/a/@href").all());
}else{
////*[@id="post_list"]/div[5]/div[2]/h3/a
//获取页面需要的内容
System.out.println("抓取的内容:"+
page.getHtml().xpath("//*[@id=\"Header1_HeaderTitle\"]/text()").get()
);
count ++;
}
}
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();
本人专注于Java、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料
更多代码以及教学视频请关注公众号:程序员高手之路
在公众号里回复【爬虫】,免费获取爬虫视频教程!