在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:Article_Crawler开源软件地址:https://gitee.com/Flying_Cat/Article_Crawler开源软件介绍:Article_Crawler项目介绍一个用于博客、咨询等网站文章爬取的爬虫框架。 项目文件夹结构
爬虫说明网站文章的爬取主要分为两步:
在第一步中,网站又分为两类:
这两类网站需要通过不同的方式去获取其所有文章的url,在配置文件的 配置文件说明通过页码拼接实现分页的网站说明[网页名称]mode=paginationpage_name=网页名称page_url=网页url地址page_pagination_url=分页部分的拼接地址start_pagination_number=开始分页的页码page_is_end=判断网页分页是否结束的方法(404|single page|xpath路径)article_xpath=文章在HTML代码中的标签的xpath路径article_url_xpath=文章url在HTML代码中的标签的xpath路径start_article_number=文章在HTML代码中的标签的开始编号end_article_number=文章在HTML代码中的标签的结束编号article_number_gap=编号间隔title_xpath=文章标题的xpath路径content_xpath=文章内容的xpath路径detail_splice_flag=爬取文章详情时,url是否需要拼接(true|false)splice_base_url=拼接的基础url
例如网站http://me.tryblockchain.org 获取到的文章url为 因此需要进行拼接。 如果不需要拼接, 样例[me_tryblockchain_org]mode=paginationpage_name=me_tryblockchain_orgpage_url=http://me.tryblockchain.org{0}page_pagination_url=/all_{0}.htmlstart_pagination_number=2page_is_end=404article_xpath=//*[@id="main-content"]/div[1]/div[1]/div/div[{0}]article_url_xpath=/a/@hrefstart_article_number=1end_article_number=20article_number_gap=1title_xpath=//*[@id="main-content"]/div[1]/div[1]/div/div[1]/h1/text()content_xpath=//*[@id="main-content"]/div[1]/div[1]/div/div[2]detail_splice_flag=truesplice_base_url=http://me.tryblockchain.org/{0} 注意 详情请查看python的 对于网站中一个页面的所有文章,一般而言它们的xpath路径都是有规律的,只是最后的编号不同, 例如在上述样例中,一页有20篇文章, article_xpath=//*[@id="main-content"]/div[1]/div[1]/div/div[{0}]article_url_xpath=/a/@hrefstart_article_number=1end_article_number=20article_number_gap=1
动态加载页面的网站说明[网页名称]mode=dynamic loadingpage_name=网页名称page_url=网页url地址request_method=网页请求方式(get|post)request_param=网页请求参数page_is_end=判断网页分页是否结束的方法(404|single page|xpath路径)article_xpath=文章在HTML代码中的标签的xpath路径article_url_xpath=文章url在HTML代码中的标签的xpath路径start_article_number=文章在HTML代码中的标签的开始编号end_article_number=文章在HTML代码中的标签的结束编号article_number_gap=编号间隔title_xpath=文章标题的xpath路径content_xpath=文章内容的xpath路径detail_splice_flag=爬取文章详情时,url是否需要拼接(true|false)splice_base_url=拼接的基础url
配置其余字段同上文所述。 样例[oschina_net_u_3782027]mode=dynamic loadingpage_name=oschina_net_u_3782027page_url=https://my.oschina.net/u/3782027request_method=getrequest_param={{'catalogId': 0, 'q': '', 'p': {0}, 'type': 'ajax'}}page_is_end=//*[@id="newestBlogList"]/div[1]/div[1]article_xpath=//*[@id="newestBlogList"]/div[1]/div[{0}]article_url_xpath=/div[1]/a/@hrefstart_article_number=1end_article_number=20article_number_gap=1title_xpath=//*[@id="mainScreen"]/div/div[1]/div/div[2]/div[1]/div[2]/h1/text()content_xpath=//*[@id="articleContent"]detail_splice_flag=falsesplice_base_url= 注意 请求参数字典中的 |
请发表评论