精华内容
下载资源
问答
  • 自动翻页搜索关键词
    2020-11-20 22:14:42

    一、操作步骤

    如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据。下面用京东搜索为例,演示自动搜索采集,操作步骤如下:

    二、案例规则+操作步骤

    第一级采集规则:连续动作_京东搜索

    第二级采集规则:京东空调列表

    样本网址: https://list.jd.com/list.html?cat=737,794,870

    采集内容:京东商品的名称、价格、链接

    注意:本案例京东搜索是有独立网址的,对于具有独立网址的页面,最简单的方法就是构造出每个关键词的搜索网址,然后把线索网址导入到规则里,就可以批量采集,而不是设置连续动作

    第一步:定义第一级规则

    1.1打开集搜客网络爬虫,输入网址并Enter,加载出网页后再点击“定义规则”按钮,看到一个浮窗显示出来,称为工作台,在上面定义规则;

    注意:这里的截图和文字说明都是集搜客网络爬虫版本,如果您安装的是火狐插件版,那么就没有“定义规则”按钮,而是应该运行MS谋数台

    1.2在工作台中输入一级规则的主题名,再点击“查重”,提示“该名可以使用”或“该名已被占用,可编辑:是”,就可以使用这个主题名,否则请重命名。

    1.3本级规则主要是设置连续动作,所以,整理箱可以随意抓取一个信息,用来给爬虫判断是否执行采集。双击网页上的信息,输入标签名,并打勾确认,再勾上关键内容,首次标注还要输入整理箱的名字,然后就完成标注映射了。

    Tips:为了能准确定位网页信息,点击定义规则会把整个网页定格住,不能跳转网页链接,再次点击定义规则,才会恢复回普通的网页模式。

    第二步:定义连续动作

    点击工作台的“连续动作”页签,点击新建按钮建立一个新动作,每个动作的设置方法都是一样,基本操作如下:

    2.1 ,输入目标主题名

    这里的目标主题名是填第二级主题名,点击“谁在用”查看目标主题名是否可用,如果已经被占用,换一个主题名就行

    2.2, 创建第一个动作:输入

    新建一个动作,并选择动作类型为输入。

    2.2.1,填写定位表达式

    首先鼠标单击输入框,定位输入框的节点,然后点击“自动生成XPath”按钮,可以选择“偏好id”或者“偏好class”,就可以得到输入框的xpath表达式,再点击“搜索”按钮,检查一下这个xpath是否能唯一定位到输入框,没有问题就把xpath复制到定位表达式方框里。

    注意:定位表达式里的xpath是要锁定动作对象的整个有效操作范围,具体就是指鼠标能够点击或输入成功的网页模块,不要定位到最底层的text()节点。

    2.2.2,输入关键词

    输入关键词填写你想搜索的关键词,可以输入一个关键词,也可以输入多个关键词,输入多个关键词要用双分号;;将每个关键词隔开,免费版只支持5个以内的关键词,旗舰版可以使用连发弹仓功能,支持1万以内的关键词

    2.2.3,输入动作名称

    告诉自己这一步动作是用来干嘛的,方便以后修改。

    2.3,创建第二个动作:点击

    参考2.2的操作,创建第二个动作,选择类型为点击,定位到搜索按钮,然后自动生成xpath,检验是否锁定到唯一节点,没问题的话填到定位表达式里就行了。

    2.4,存规则

    点击“存规则”按钮保存已完成的第一级规则

    第三步:定义第二级规则

    3.1,新建规则

    创建第二级规则,点击“定义规则”恢复到普通网页模式,输入关键词搜索出结果后,再次点击“定义规则”切换到做规则模式,点击左上角“规则”菜单->“新建”,输入主题名,这里的主题名就是第一级规则的连续动作里填写的目标主题名。

    3.2,标注想要采集的信息

    3.2.1,标注网页上想要采集的信息,这里是对商品名称和价格做标注,因为标注只对文本信息有效,商品详情的链接是属性节点@href,所以,不能对链接做这样的直观标注,而要做内容映射,具体看下面的操作。

    3.2.2,点击商品名称,下面的DOM节点定位到A标签,展开A标签下的attributes节点,就可以找到代表网址的@href节点,右击节点,选择“新建抓取内容“,输入一个名字,一般给这个抓取内容起一个和地址有关的名字,比如“下级网址“,或者”下级链接“等等。然后在工作台上,看到这个抓取内容有了。如果还要进入商品详情页采集,就要对着这个抓取内容勾选下级线索,做层级抓取。

    3.2.3,设置“关键内容”选项,这样爬虫才能判断出采集规则是否合适。在整理箱里选一个网页上必然能采到的标签,勾上“关键内容”。这里选择的是“名称”做为“关键内容”。

    3.2.4,前面只对一个商品做标注,也就能得到一个商品信息,如果想把一整页上每一个商品都采集下来,可以做样例复制,不懂的请参考基础教程《采集列表数据》

    3.3,设置翻页路线

    在爬虫路线设置翻页,这里用的是记号线索,不懂的请参考基础教程《设置翻页采集》

    3.4,存规则

    点击“测试”,检查信息完整性。不完整的话,重新标注就可以覆盖之前的内容。检查没问题后点击“存规则”。

    第四步:抓数据

    4.1,连续动作是连续执行的,所以只要运行第一级主题,第二级主题不用运行。打开DS打数机,搜索出第一级主题名,点击“单搜”或“集搜”,此时可以看到浏览器窗口里会自动输入关键词并且搜索,然后调用第二级主题自动采集搜索结果。

    4.2,第一级主题没采到有意义的信息,所以,我们只看第二级主题的文件夹,就能看到采集的搜索结果数据,并且搜索的关键词是默认记录在xml文件的actionvalue字段中,这样就能一一对应起来。

    更多相关内容
  • 通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索。 1、安装python3,访问官网选择对应的版本安装即可,最新版为3.7。 2、安装selenium库。 使用 pip install selenium 安装即可...
  • 3.可自动翻页,支持设置在多少页内查找结果,每一页查找多少个链接 4.搜索出结果后,可以模仿人工浏览网页,降低跳出率,提高用户体验数据 5.随意浏览网页,随机停留时间 模仿人工搜索并且浏览网站相关说明: 1.本...
  • 以百度为例,同样适合淘宝,soso等网站。 自动搜索关键词自动点击指定搜索结果。 据说可以提高关键词排名。
  • 3.可自动翻页,支持设置在多少页内查找结果,每一页查找多少个链接 4.搜索出结果后,可以模仿人工浏览网页,降低跳出率,提高用户体验数据 5.随意浏览网页,随机停留时间 模仿人工搜索并且浏览网站相关说明: 1.本软件...
  • 一、操作步骤如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词搜索,然后才能采集数据。下面用京东搜索为例,演示...

    一、操作步骤

    如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据。下面用京东搜索为例,演示自动搜索采集,操作步骤如下:

    3c463c5fbe1006b61cc2892dff6977e0.png

    二、案例规则+操作步骤第一级采集规则:连续动作_京东搜索

    第二级采集规则:京东空调列表

    样本网址:https://list.jd.com/list.html?cat=737,794,870

    采集内容:京东商品的名称、价格、链接

    注意:本案例京东搜索是有独立网址的,对于具有独立网址的页面,最简单的方法就是构造出每个关键词的搜索网址,然后把线索网址导入到规则里,就可以批量采集,而不是设置连续动作,可以参考《如何构造网址》和《如何管理规则的线索》。

    第一步:定义第一级规则

    335d8e5e672b41b1068c984ffa25752f.png

    1.1打开集搜客网络爬虫,输入网址并Enter,加载出网页后再点击“定义规则”按钮,看到一个浮窗显示出来,称为工作台,在上面定义规则;

    注意:这里的截图和文字说明都是集搜客网络爬虫版本 ,如果您安装的是火狐插件版,那么就没有“定义规则”按钮,而是应该运行MS谋数台

    1.2在工作台中输入一级规则的主题名,再点击“查重”,提示“该名可以使用”或“该名已被占用,可编辑:是”,就可以使用这个主题名,否则请重命名。

    5585bcf79b56b1401391e2e73d734fbb.png

    1.3本级规则主要是设置连续动作,所以,整理箱可以随意抓取一个信息,用来给爬虫判断是否执行采集。双击网页上的信息,输入标签名,并打勾确认,再勾上关键内容,首次标注还要输入整理箱的名字,然后就完成标注映射了。

    Tips:为了能准确定位网页信息,点击定义规则会把整个网页定格住,不能跳转网页链接,再次点击定义规则,才会恢复回普通的网页模式。

    第二步:定义连续动作

    点击工作台的“连续动作”页签,点击新建按钮建立一个新动作,每个动作的设置方法都是一样,基本操作如下:

    0638068a997094aa27ff8dcedd9b2667.png

    2.1 ,输入目标主题名

    这里的目标主题名是填第二级主题名,点击“谁在用”查看目标主题名是否可用,如果已经被占用,换一个主题名就行

    2.2, 创建第一个动作:输入

    新建一个动作,并选择动作类型为输入。

    91233bc39a25edef538322878f7193d7.png

    2.2.1,填写定位表达式

    首先鼠标单击输入框,定位输入框的节点,然后点击“自动生成XPath”按钮,可以选择“偏好id”或者“偏好class”,就可以得到输入框的xpath表达式,再点击“搜索”按钮,检查一下这个xpath是否能唯一定位到输入框,没有问题就把xpath复制到定位表达式方框里。

    注意:定位表达式里的xpath是要锁定动作对象的整个有效操作范围,具体就是指鼠标能够点击或输入成功的网页模块,不要定位到最底层的text()节点。

    2.2.2,输入关键词

    输入关键词填写你想搜索的关键词,可以输入一个关键词,也可以输入多个关键词,输入多个关键词要用双分号;;将每个关键词隔开,免费版只支持5个以内的关键词,旗舰版可以使用连发弹仓功能,支持1万以内的关键词

    2.2.3,输入动作名称

    告诉自己这一步动作是用来干嘛的,方便以后修改。

    2.3,创建第二个动作:点击

    46a4cf5595dfd6d9322bf4a15b6e73e8.png

    参考2.2的操作,创建第二个动作,选择类型为点击,定位到搜索按钮,然后自动生成xpath,检验是否锁定到唯一节点,没问题的话填到定位表达式里就行了。

    2.4,存规则

    点击“存规则”按钮保存已完成的第一级规则

    第三步:定义第二级规则

    3.1,新建规则

    6874a8bbd0b944b31842194519192974.png

    创建第二级规则,点击“定义规则”恢复到普通网页模式,输入关键词搜索出结果后,再次点击“定义规则”切换到做规则模式,点击左上角“规则”菜单->“新建”,输入主题名,这里的主题名就是第一级规则的连续动作里填写的目标主题名。

    3.2,标注想要采集的信息

    ccf3876aec9e0054122c035c23a8d0e5.png

    3.2.1,标注网页上想要采集的信息,这里是对商品名称和价格做标注,因为标注只对文本信息有效,商品详情的链接是属性节点@href,所以,不能对链接做这样的直观标注,而要做内容映射,具体看下面的操作。

    3.2.2,点击商品名称,下面的DOM节点定位到A标签,展开A标签下的attributes节点,就可以找到代表网址的@href节点,右击节点,选择“新建抓取内容“,输入一个名字,一般给这个抓取内容起一个和地址有关的名字,比如“下级网址“,或者”下级链接“等等。然后在工作台上,看到这个抓取内容有了。如果还要进入商品详情页采集,就要对着这个抓取内容勾选下级线索,做层级抓取。

    3.2.3,设置“关键内容”选项,这样爬虫才能判断出采集规则是否合适。在整理箱里选一个网页上必然能采到的标签,勾上“关键内容”。这里选择的是“名称”做为“关键内容”。

    eb308cd1550e51f474e8aa9f6f8223a8.png

    3.2.4,前面只对一个商品做标注,也就能得到一个商品信息,如果想把一整页上每一个商品都采集下来,可以做样例复制,不懂的请参考基础教程《采集列表数据》

    3.3,设置翻页路线

    37a1979d86bed75d7f57e03a479405b1.png

    在爬虫路线设置翻页,这里用的是记号线索,不懂的请参考基础教程《设置翻页采集》

    3.4,存规则

    点击“测试”,检查信息完整性。不完整的话,重新标注就可以覆盖之前的内容。检查没问题后点击“存规则”。

    第四步:抓数据

    2f4bb2e97ca47d6f9b0c3dc090d4a862.png

    4.1,连续动作是连续执行的,所以只要运行第一级主题,第二级主题不用运行。打开DS打数机,搜索出第一级主题名,点击“单搜”或“集搜”,此时可以看到浏览器窗口里会自动输入关键词并且搜索,然后调用第二级主题自动采集搜索结果。

    4.2,第一级主题没采到有意义的信息,所以,我们只看第二级主题的文件夹,就能看到采集的搜索结果数据,并且搜索的关键词是默认记录在xml文件的actionvalue字段中,这样就能一一对应起来。

    若有疑问可以或760f4483f0ece5714810f15a5293cad9.png

    展开全文
  • * @param searchKey :搜索关键词 * @param number:爬取的页数 * @return * @throws URISyntaxException */ private static String getSearchInfoHtml(String searchKey,Integer pageNumber) throws ...

    如果你对HttpClient还不是很了解,建议先移步我的另一篇博客HttpClient4.x之请求示例后再来看这篇博客。我们这里的项目采用maven搭建。在阅读前要对jdk和maven有一定的了解。另外开发工具这里我这里使用的是:Spring Tool Suite(STS)当然你也可以使用其他的开发工具进行。环境和版本说明大致如下:

    开发工具:Spring Tool Suite(STS)   3.9.6.RELEASE

    maven版本:3.2.5

    jdk版本: 1.8.0_144

    第一步先引入项目示例程序的依赖

    		<dependency>
    			<groupId>org.apache.httpcomponents</groupId>
    			<artifactId>httpclient</artifactId>
    			<version>4.5.3</version>
    		</dependency>
    		<dependency>
    			<groupId>commons-logging</groupId>
    			<artifactId>commons-logging</artifactId>
    			<version>1.1.1</version>
    		</dependency>
    		<dependency>
    		    <groupId>log4j</groupId>
    		    <artifactId>log4j</artifactId>
    		    <version>1.2.17</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>commons-lang</groupId>
    			<artifactId>commons-lang</artifactId>
    			<version>2.6</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>org.jsoup</groupId>
    			<artifactId>jsoup</artifactId>
    			<version>1.8.3</version>
    		</dependency>
    		<dependency>
    		    <groupId>junit</groupId>
    		    <artifactId>junit</artifactId>
    		    <version>4.12</version>
    		    <scope>test</scope>
    		</dependency>

    搜索文章内容的实体类。主要是用户存储爬取的文章标题和文章的网址 。

    package cn.zhuoqianmingyue.getoperation.baidusearch;
    /**
     *  搜索数据
     * @author zhuoqianmingyue
     */
    public class SearchData {
    	
    	private String title;//文章标题
    	private String url;//文章的url
    	public String getTitle() {
    		return title;
    	}
    	public void setTitle(String title) {
    		this.title = title;
    	}
    	public String getUrl() {
    		return url;
    	}
    	public void setUrl(String url) {
    		this.url = url;
    	}
    	
    }

     

    实现思路:

    在介绍实现逻辑前我们先我们了解一下百度搜索搜索参数介绍与结果页面的规律。

    然后将搜索地址复制下来:

     https://www.baidu.com/s?wd = httpclinetpn = 20oq = httpclinetie = utf-8rsv_idx = 1&rsv_pq = f04f5a140000a07c&rsv_t = 0bfcfngHhMH3Vk5SnTN81kLVbKKYYKMY9rqyBKn64MnYAQRQ%2FzWD48knXc

    wd:查询关键字; pn:显示结果页数; oq:上次索引关键字1页是0 2页是10 3页是20;ie:关键字编码格式;rsv_idx:不知道只干啥的这里好像没有变化一直是1; rsv_pq:未知每次搜索都有变化; rsv_t:未知每次搜索都有变化

    查看结果数据的HTML标签规律

    我们发现结果数据都是携带data-click 的a标签,文章url都在href中,文章标题就是一个a标签的文本内容。

    翻页区域都是在id属性是page的div中我们可以根据是否包含下一页判断是否到最后一页。

    还有一点需要注意的是百度快照也是包含数据单击的一个标签这个我们要进行筛除。

     

    实现逻辑大致如下:我们首先通过循环对页数进行累加通过httpclinet爬取每页的结果数据当我们发现分页区域没有下一页的内容后停止数据的爬取。爬取没页数据后通过jsoup解析爬取html信息获取所有的含有data-click的a标签,判断a标签文本是否是百度快照,如果不是获取a标签的href的文本并设置到SearchData中。

    百度爬虫实现工具类代码实现:

    package cn.zhuoqianmingyue.getoperation.baidusearch;
    
    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.utils.URIBuilder;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.apache.log4j.Logger;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import cn.zhuoqianmingyue.getoperation.SimpleGetHttpClientDemo;
    
    public class BaiDuSearchUtil {
    	
    	private static Logger log = Logger.getLogger(SimpleGetHttpClientDemo.class);
    	/**
    	 * 根据searchKey 爬取相关的文章内容
    	 * @param searchKey
    	 * @return
    	 * @throws URISyntaxException
    	 */
    	public static List<SearchData> search(String searchKey) throws URISyntaxException {
    		
    		List<SearchData> allSearchData = new ArrayList<SearchData>();
    		int pageNumber = 1;
    		boolean flag = true;
    		while(flag) {
    			
    			String searchInfoHtml = getSearchInfoHtml(searchKey,pageNumber);
    			
    			boolean isEndpage = isEndPage(searchInfoHtml);
    			if(!isEndpage) {
    				List<SearchData> currentPageSearchDataList = parseDataHtml(searchInfoHtml);
    				allSearchData.addAll(currentPageSearchDataList);
    			}else {
    				flag = false;
    			}
    			pageNumber++;
    			log.info("当前爬取的页数为:"+pageNumber);
    		}
    		return allSearchData;
    	}
    	
    	/**
    	 *  判断当前搜索结果是否是最后一页
    	 * @param searchInfoHtml
    	 * @return
    	 */
    	private static boolean isEndPage(String searchInfoHtml) {
    		Document doc = Jsoup.parse(searchInfoHtml);
    		Element pageElement = doc.select("div#page").get(0);
    		
    		String html = pageElement.html();
    		if(html.indexOf("下一页")!=-1) {
    			return false;
    		}
    		return true;
    	}
    	/**
    	 *  解析搜索结果中文章标题和文章的url
    	 * @param searchInfoHtml
    	 * @return
    	 */
    	private static List<SearchData> parseDataHtml(String searchInfoHtml) {
    		List<SearchData> searchDataList = new ArrayList<SearchData>(); 
    		Document doc = Jsoup.parse(searchInfoHtml);
    		
        	Elements select = doc.select("a[data-click]");
        	for (Element element : select) {
        		String url = element.attr("href");
        		if(!"javascript:;".equals(url)) {
        			String title = element.html().replace("<em>", "").replace("</em>", "");
        			if(!"百度快照".equals(title)) {
        				SearchData searchData = new SearchData();
            			searchData.setTitle(title);
            			searchData.setUrl(url);
            			searchDataList.add(searchData);
        			}
        		}
    		}
        	
    		return searchDataList;
    	}
    	/**
    	 *  爬取百度搜索具体页数结果页面
    	 * @param searchKey :搜索的关键词
    	 * @param number:爬取的页数  
    	 * @return
    	 * @throws URISyntaxException
    	 */
    	private static String getSearchInfoHtml(String searchKey,Integer pageNumber) throws URISyntaxException {
    		String searchInfoHtml = "";
    		
    		URI uriParma = dualWithParameter(searchKey,pageNumber);
    		HttpGet httpGet = new HttpGet(uriParma);
    		addHeaders(httpGet);
    		
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		CloseableHttpResponse response = null;
    		try {
    			response = httpClient.execute(httpGet);
    			int satausCode = response.getStatusLine().getStatusCode();
    			if(satausCode == 200 ){
    				searchInfoHtml = EntityUtils.toString(response.getEntity(),"UTF-8");
    			}
    		} catch (ClientProtocolException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return searchInfoHtml;
    	}
    	/**
    	 * 设置httpGet的头部信息
    	 * @param httpGet
    	 */
    	private static void addHeaders(HttpGet httpGet) {
    		httpGet.addHeader("Host","www.baidu.com");
    		httpGet.addHeader("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
    	}
    	/**
    	 * 处理百度搜索必须的查询参数
    	 * @param searchKey
    	 * @param pageNumber
    	 * @return
    	 * @throws URISyntaxException
    	 */
    	private static URI dualWithParameter(String searchKey, Integer pageNumber) throws URISyntaxException {
    		URI uri = new URI("https://www.baidu.com/s");
    		URIBuilder uriBuilder = new URIBuilder(uri);
    		uriBuilder.setParameter("wd", searchKey);//查询关键字
    		uriBuilder.setParameter("pn", ((pageNumber-1)*10)+"");//显示结果页数
    		uriBuilder.setParameter("oq", searchKey);//上次索引关键字
    		uriBuilder.setParameter("ie", "utf-8");//关键字编码格式
    		uriBuilder.setParameter("rsv_idx", "1");//
    		uriBuilder.setParameter("f", "8");//用户自立搜索,透露表现用户直接点击“百度一下”按键
    		uriBuilder.setParameter("rsv_bq", "1");
    		uriBuilder.setParameter("tn", "baidu");
    		URI uriParma = uriBuilder.build();
    		return uriParma;
    	}
    
    	public static void main(String[] args) throws URISyntaxException {
    		List<SearchData> allSearchData = BaiDuSearchUtil.search("httpclinet");
    		System.out.println(allSearchData.size());
    	}
    }
    

    参考文献:https//blog.csdn.net/qq_26816591/article/details/53335987

    源码地址:https//github.com/zhuoqianmingyue/httpclientexamples

    展开全文
  • 目录2-1-知识储备Cookie2-2-微博数据抓取(登陆Cookie设置)1-在八爪鱼页面打开微博的官网2-切换至“浏览模式”3-登录微博4-设置Cookie5-输入关键词6-自动识别网页,完成数据采集2-3-豆瓣图书数据抓取(翻页与循环)...

    2-1-知识储备

    Cookie

    Cookie是某些网站为了辨别用户身份在用户本地终端上的数据(通常经过加密),由用户计算机暂时或永久保存的信息。也就是如果我们能在打开网页时使用指定的Cookie,这样网页就能辨别我们的身份,从而避免了每次登陆网站需要登陆的问题。

    2-2-微博数据抓取(登陆Cookie设置)

    1-在八爪鱼页面打开微博的官网

    网址:https://www.weibo.com/

    在这里插入图片描述

    2-切换至“浏览模式”

    通过观察发现,想要搜索微博的相关信息需要先登陆微博的账号,我们先进入到浏览模式进行账号的登陆。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bBUnVQYn-1629265607065)(res/image-20210816203737593.png)]

    3-登录微博

    进入浏览模式之后,会像进入微博网页版,点击右上角的登陆进入到微博账号的登陆界面。登陆完成后我们就进入到了全新的微博界面。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5eXZdXLn-1629265607072)(res/image-20210816205745371.png)]

    4-设置Cookie

    首先,找到左边的流程图,设置打开网页的信息,设置获取当前Cookie,点击“使用指定的Cookie”后,点击“获取当前页面Cookie”。Cookie设置完成后,Cookie设置完成后,退出浏览模式进入到数据爬取规则设置阶段

    5-输入关键词

    点击微博的搜索按钮,会出现智能提示,选择==“点击该链接”==,跳转至搜索界面。
    在这里插入图片描述

    点击搜索框,选中“输入文本”,然后输入待搜索词;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fGSsvx67-1629265607090)(res/image-20210818132028045.png)]

    选中左侧流程图的输入文本,勾选输入后按回车键,然后点击“应用“
    在这里插入图片描述

    6-自动识别网页,完成数据采集

    使用自动识别网页功能对网页进行识别。识别完成后,默认采集了19个字段。如果字段有些不是我们想要的,可以将其删除。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4D1JQeFq-1629265607102)(res/image-20210818132421048.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4vLg3ob-1629265607106)(res/image-20210818132456968.png)]
    字段设置完成以后,点击生成采集设置,就可以对微博的数据进行爬取了。
    最后将任务修改名称后保存,可以在我的任务中找到设置的相应任务。

    2-3-豆瓣图书数据抓取(翻页与循环)

    豆瓣图书的网址:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4

    1-登陆八爪鱼,进入豆瓣的采集页面

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GnDmFnpB-1629267378082)(res/image-20210816221235754.png)]

    2-自动识别网页

    使用自动识别网页的功能对豆瓣的数据进行采集
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X9Tv7wkG-1629267378088)(res/image-20210816221310601.png)]

    我们发现自动采集无法满足我们数据采集的相关需求,我们需要对豆瓣的每个链接点击进入,然后去采集打分的人数以及比例,比如小说《活着》,有607608个人评价,同时我们需要采集不同星的比例,那么如何操作呢?

    有以下两种解决思路:

    第一个是先采集各个书的链接,然后再依次打开各个书的链接进行数据采集

    第二个是打开豆瓣的网站,然后点击第一个链接进入采集数据,然后返回到链接列表然后采集第二个链接。

    接下来以第一个思路作为示例!
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6peY8lBR-1629267378091)(res/image-20210816221431593.png)]

    3-采集各个图书的链接

    我们使用八爪鱼的自动识别功能对豆瓣网页进行识别。我们看到自动识别采集了11个字段,而我们只要书的名称以及链接这个2个字段,其它的都删除。

    可以不删除嘛?也是可以的,不过需要注意的是,采集的字段越多,采集的速度越慢,减少采集的字段可以提升采集速度,因此将不需要的字段删除。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fFzHRtR5-1629267378096)(res/image-20210816222845130.png)]

    点击生成采集设置,点击保存并开始采集,点击启动本地采集。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B2DoBCkT-1629267378098)(res/image-20210816222144575.png)]

    4-循环打开各个网页采集相关信息

    将前面收集到的数据导入到八爪鱼中。
    1)点击”新建“,选中”自定义输入“

    2)选择文件——选择工作簿——选择列——保存设置
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2X8Cjpjs-1629267378099)(res/image-20210818140901688.png)]
    2)选中”活着“,选择”采集该元素的文本“;其他元素类似。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fRdLQk9A-1629267378100)(res/image-20210818141143084.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eziX885n-1629267378101)(res/image-20210818141503099.png)]

    5-点击采集开始对最终数据进行抓取

    在这里插入图片描述

    2-4-采集流程逻辑

    1-八爪鱼的工作原理

    模拟人的行为,通过内置Chrome浏览器浏览网页数据,所以采集数据的第一步永远是找到目标网址并输入。这跟通过普通浏览器访问网页完全一样。在普通浏览器中需要点击链接进入详情、点击翻页按钮查看更多数据,在八爪鱼中也需如此操作。

    2-八爪鱼的流程逻辑

    八爪鱼通过【采集流程】全自动采集数据。【采集流程】执行逻辑遵循2个原则:先从上至下、再由内而外
    【采集流程】由【蓝色步骤】和【灰色框】两大部分组成。【蓝色步骤】是会执行的步骤,八爪鱼与网页发生互动。【灰色框】起记录网页的作用。
    在这里插入图片描述

    案例1

    在这里插入图片描述

    案例2

    在这里插入图片描述

    案例3

    在这里插入图片描述

    2-5-思考

    1.抓取的微博数据算不算是个人隐私数据,在使用中需要注意什么?

    属于个人隐私数据,在使用过程中注意隐藏个人信息,避免信息泄露。

    2.设置Cookie登陆的优势是什么?Cookie在手机和电脑使用中体现在哪些方面?

    指定Cookie后,网页就能辨别我们的身份,从而避免了每次登陆网站需要登陆的问题。

    3.豆瓣图书数据采集中选择第一个思路的优势是什么?选择第二个思路的优势是什么?

    参考链接:https://www.bazhuayu.com/tutorial8/81xsrm9

    参考资料

    team-learning-program/2.自动识别初体验.md at master · datawhalechina/team-learning-program (github.com)

    展开全文
  • 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词搜索,然后才能采集数据。下面用京东搜索为例,演示自动搜索...
  • 通过Python批量采集爱站关键词搜索量&简单的关键词挖掘,因为都在网页源代码当中,都可以用万能的正则表达式来匹配出来,不知道的不清楚的都自行脑补,下面的代码部分有完整正则表达式部分,几乎网页源代码中的采集...
  • 10,js在web自动化中的作用展示 11,自动化代码优化 12,selenium对比RF 13,自动化测试脚本三种等待 14,PO模式 六、HTTP协议 1,HTTP协议特点: 2,HTTP传输原理 3,get和post的区别 4,HTTP响应代码 5,osi七层模型...
  • 设置关键词和浏览器设置3.定义获取密码函数4.定义获取图片信息,返回最佳匹配位置函数5.定义滑动函数6.定义实现登录函数7.定义文件保存函数8.定义爬取函数9.定义首次运行函数10.定义继续运行函数11.定义主函数三、...
  • 前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。如今各大网站的反爬...首先,如果从新闻直接进行搜索,你会发现其内容最多显示20页,...
  • 包含搜索功能的列表开发规范
  • 搜索关键词采集YouTube视频字幕

    千次阅读 2019-08-17 16:52:29
    鼠标一直往下拉,会自动请求,是个post请求,一看就是返回的视频信息。 看到这里很高兴,离胜利已经不远了。但,我们先来看下headers 以及发送的post参数,看了之后 就一句 wtf。。。 一万个羊驼在奔腾,我把...
  • 第一步、在编辑窗口的“设计设置”面板中找到“自动翻页”,或直接搜索功能关键词,在 里直接输入功能关键词,如【▲图1】所示: 【▲图1】 备注:“自动翻页”中的“播放次数”是指自动翻页次数,比如设置次数...
  • 这是一款专业用来做网站优化的工具-功能强大,可适用于刷网站在搜索引擎的关键词排名优化靠前、刷相关搜索、刷网站百度最新排名优化、定位点击输入功能等,软件以互刷模式进行智能翻页精确点击,强大的伪造来路地址...
  • init + keyword 搜索结果非常多,本文爬取第一页文章的摘要为例,后续读者当关键词锁定的文献比较少或者想获取全部文献,可以自行寻找URL翻页逻辑 同时我们发现,摘要显示不全,确认源代码和ajax动态加载不包含...
  • 手机淘宝APP关键词搜索采集方案

    千次阅读 2020-11-03 15:20:47
    自2018年12月中旬之后,淘宝升级了反爬虫策略,淘宝Web版必须要登录之后才能使用搜索功能(直接搜索会被重定向到登录界面,登录之后才能看到搜索结果)。然而登录之后如果访问稍微频繁,就会出现滑块验证码(如下图...
  • 本软件全模拟人工打开搜索网站 - 输入关键词 - 搜索 - 和人一样翻页查找 - 找到“喜爱”的网站 - 点击进入。每次点击完成后会自动清除所有记录,更改计算机名,然后以一个全新的身份重新拨号再次进行点击。具体效果...
  • -g 只标志最后搜索关键词 -i 忽略搜索时的大小写 -m 显示类似more命令的百分比 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -Q 不使用警告音 -s 显示连续空行为一行 -S ...
  • 但可以通过翻页键查看上下页的内容 -b 设置缓冲区的大小 -e 当文件显示结束后,自动离开 -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g 只标志最后搜索关键词 -i 忽略搜索时的大小写 -m 显示类似...
  • ③点击下一步,选择进行数据抽取还是链接抽取,本次采集需要采集列表页中正文的所有文本信息,所以此处需要勾选“抽取链接”-“普通翻页”,如图3: 【图3】 第二步:配置关键词 ①由于在创...
  • Linux如何读取文件,如何翻页

    千次阅读 2021-05-08 21:28:34
    语法格式 less [参数] 文件 参数 -b: 设置缓冲区的大小 -e: 当文件显示结束后,自动离开 -f :强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g: 只标志最后搜索关键词 -i :忽略搜索时的大小写 -m:...
  • 4)智能分词输入,自动翻页,支持搜索结果前10页! 5)清空浏览痕迹、cookies、清除浏览缓存,确保每次点击真实有效! 6)目标网页随机或自定义内页点击、真正的自然人操作体验,将真实演绎到底! 7)精确控制日最大...
  • 词库网关键词采集

    2021-06-13 16:50:50
    虽然核心关键词或者比较热门的关键词带来的流量会超过总流量的一半,但是那些搜索人数不多,但是又比较明确的关键词(长尾关键词)综合也能为网站带了一笔很大的访问量,然而正是这些长尾的关键词带来的顾客的转化率更...
  • 直接copy 对应接口的curl,其中有三个参数 ts,he,sign ,关于参数中 翻页和keywords都懂, ts 时间戳 毫秒 (每次请求不一样) he 用户认证信息(不变 需要是会员用户) sign 加密参数 (随ts以及he动态变化) ps...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,760
精华内容 1,504
关键字:

自动翻页搜索关键词

友情链接: ASPstudent.rar