打算用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. 实体bean里面不要轻易加transient,反序列回来之后会变成null

     实体bean里面不要轻易加transient,反序列回来之后会变成null

  2. expect--脚本实现免交互命令

    转自:http://blog.51cto.com/lizhenliang/1607723 注意:使用expect脚本时,需要把脚本添加执行权限,然后./test.sh直接执行,不能用sh或者sourc ...

  3. TCP的坚持定时器

    一.简介 TCP不对ACK报文段进行确认,TCP只确认那些包含有数据的ACK字段. 如果一个确认丢失了,双方就有可能因为等待对方而使得链连接终止: 接收方等待接受数据,因为已经向发送方通告了一个非0的 ...

  4. TCP/IP协议之分层

     应用层和运输层只在端系统(End System)中实现, 底层协议在中间系统(Intermediate System)实现 ICMP和IGMP属于网络层的附属协议.虽然其内容是IP数据报的载荷(P ...

  5. 在iOS7中修改键盘Return键的类型

    今天将之前运行在iOS7之前的一段代码拿出来,在iOS7的机器上运行,发现键盘上的ReturnKeyType不能被修改了. 经过几番查找资料,了解到iOS7中UISearchBar的结构发生了变化,将 ...

  6. js 的常用方法和对象

    每日分享: 加油!你一定可以!你是最牛逼的!!!-------------------------------------------------------------------------- - ...

  7. Shell检查程序是否正常,并显示出程序启动时间、执行时间

    项目中多个实例,而每个实例均启动一个程序,本脚本将多个程序统一进行监控,并支持文件配置 #!/bin/sh bin=$(cd ``;pwd) cd ${bin} ### 定义检查函数 chkProgr ...

  8. UML-6.3-用例-详述示例

    用例标示:摘要(主成功场景).非正式(几乎所有场景).详述. 下边主要说下详述.其模板: 例子: 用例UC1:处理销售 范围 NextGen POS应用 级别 用户目标 主要参与者 收银员 涉众及关注 ...

  9. google hack使用集锦

    转载:https://blog.csdn.net/weixin_42127015/article/details/84472777 关于google hack的几个基础过滤器使用[请务必谨记,过滤器虽 ...

  10. Android Studio的串口通讯开发

    基于android-serialport-api实现 前言RS232标准接口UARTRS232与UART转接下载 NDK 和构建工具创建支持 C/C++ 的新项目编译C/C++代码串口通讯原理关于校验 ...