打算用c语言和libcurl库在windows下实现一些爬虫操作。

一、编译libcurl

1、编译zlib

1)下载zlib http://sourceforge.net/projects/libpng/files/zlib/ 找到最新版下载,这里我下载的是1.2.11版本

2)打开 cmd 切换目录到 zlib-1.2.11 源码目录下

3)执行 nmake -f win32\Makefile.msc 如果nmake错误,则执行VS目录下的(我这里是VS2015) C:\program files\Microsoft Visual Studio 14\Common7\Tools\vsvars32.bat

4)编译通过 则生成了 zlib1.dll zlib.lib

2、编译openssl

1)下载 https://www.openssl.org/source/old/1.0.0/ 下载的1.0.0.c版本,1.1.0版本没编译通过

2)下载 ActivePerl http://www.activestate.com/activeperl/downloads

3)安装 ActivePerl

4)打开cmd 切换目录到 openssl源码目录

5)执行 perl Configure VC-WIN32

6)执行 ms\do_ms

7)修改 ms\ntdll.mak 和 ms\nt.mak 去掉CFLAGS 中的 /WX 选项

8)执行 ms\ntdll.mak 即可编译

3、编译libcurl

1)下载libcurl https://curl.haxx.se/download.html 选择的是目前最新版 7.53.1


2)根据源代码根目录下 winbuild 目录下的 BUILD.WINDOWS.txt 的提示 在libcurl源码的同级目录下建立 deps 文件夹

3)将openssl源码下的include下的openssl目录拷贝到 deps\include 目录下

  将zlib源码下的 zconf.h zlib.h zutil.h 拷贝到 deps\include 目录下

  将openssl 编译好的 libeasy32.lib ssleay.lib 拷贝到deps\lib 目录下

  将zlib编译好的 zlib.lib 拷贝到 deps\lib 目录下

4)cmd 进入到winbuild 目录

5)执行 namke -f Makefile.vc mode=dll WITH_SSL=dll WITH_ZLIB=DLL VC=14 进行编译

用c+libcurl+PCRE写爬虫1--编译libcurl的更多相关文章

  1. 用c+libcurl+PCRE写爬虫2--好用的正则表达式

    写爬虫最重要的就是正则表达式的处理(爬出来的数据的筛选,清洗,过滤等操作). 通过一篇文章 http://blog.csdn.net/quaful/article/details/6460880 来确 ...

  2. 手把手教你用.NET Core写爬虫

    写在前面 自从上一个项目58HouseSearch从.NET迁移到.NET core之后,磕磕碰碰磨蹭了一个月才正式上线到新版本. 然后最近又开了个新坑,搞了个Dy2018Crawler用来爬dy20 ...

  3. 让你从零开始学会写爬虫的5个教程(Python)

    写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚本是很简单的,但是对于新手来说却并不是那么容易. ...

  4. [Python]新手写爬虫全过程(已完成)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  5. 如何编译libcurl

    1. Android •1.1配置 •1.2 Make •1.3的参数配置 2.iOS 3.windows 4.关于头文件 注释 本文档介绍了如何为Android,iOS和Windows编译libcu ...

  6. vc2015 编译libcurl带openssl

    1.先编译zlib下载地址 http://zlib.net/ 我这边vc2015编译需要配置环境变量,不知道是装了wdk的原因还是多个vc版本的原因 设置环境变量lib和include路径 INCLU ...

  7. scrapy写爬虫是出现no module named win32api错误

    windows下利用scrapy(python2.7)写爬虫,运行 scrapy crawl dmoz 命令时提示:exceptions.ImportError: No module named wi ...

  8. PHP, Python, Node.js 哪个比较适合写爬虫?

    PHP, Python, Node.js 哪个比较适合写爬虫? 1.对页面的解析能力2.对数据库的操作能力(mysql)3.爬取效率4.代码量推荐语言时说明所需类库或者框架,谢谢.比如:python+ ...

  9. [Python]新手写爬虫全过程(转)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

随机推荐

  1. S:List

    描述 写一个程序完成以下命令:new id ——新建一个指定编号为id的序列(id<10000)add id num——向编号为id的序列加入整数nummerge id1 id2——合并序列id ...

  2. javascript对比两个数组,打印出差异值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Linux下的信号量

    首先,什么是信号量? 信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件,外部设备)来实现进程间通信,它本身只是一种外部资源的标识.信号量在此过程中负责操作的互 ...

  4. Tomcat入门级小白教程

    Tomcat 类似与一个apache的扩展型,属于apache软件基金会的核心项目,属于开源的轻量级Web应用服务器,是开发和调试JSP程序的首选,主要针对Jave语言开发的网页代码进行解析,Tomc ...

  5. Python 标准库之 xml.etree.ElementTree

    Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ...

  6. LINQ -2015-04-27

    LINQ--language-integrated-query 1.它和sql语言区别呢? SQL语言常用在ralational-database中,而LINQ对内存数据,数据库,xml文件等多种形式 ...

  7. NOI.AC省选模拟赛第一场 T1 (树上高斯消元)

    link 很容易对于每个点列出式子 \(f_{x,y}=(f_{x,y-1}+f_{x,y}+f_{x,y+1}+f_{x+1,y})/4\)(边角转移类似,略) 这个转移是相互依赖的就gg了 不过你 ...

  8. 1016 部分A+B (15 分)

    // 题目不难,感觉变量定义的有点儿多了#include <iostream> #include <cmath> using namespace std; int main() ...

  9. 编译安装php-5.3.27报错:make: *** [sapi/fpm/php-fpm] 错误 1

    安装PHP的时候make报错:make: *** [sapi/fpm/php-fpm] Error 1 原因:Centos6.8之后已经将iconv库加进来了,如果再安装libiconv库相当于重复一 ...

  10. C语言中malloc函数与free函数

    - malloc函数 全称是memory allocation,中文叫动态内存分配,用于申请一块连续的.指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑 ...