当前位置: 首页 > news >正文

建什么网站比较好网站访客qq获取代码

建什么网站比较好,网站访客qq获取代码,建筑工程教育网官方网站,巩义网站优化我常使用C语言写网络爬虫#xff0c;能够将网页爬出来#xff0c;但是#xff0c;图片却爬不出来#xff0c;有没有大佬帮解决一下#xff01;#xff01;#xff01; 代码#xff1a; #include stdio.h #includestring.h #includeWinSock2.h…我常使用C语言写网络爬虫能够将网页爬出来但是图片却爬不出来有没有大佬帮解决一下 代码 #include stdio.h #includestring.h #includeWinSock2.h #pragma comment(lib,ws2_32.lib) /* 网络部分:http url url 三部分 https://www.baidu.com/?tn62095104_29_oem_dgch6 1.协议 http 超文本传输协议 2.主机名 www.baidu.com 需要的ip地址 240e:ff:e020:966:0:ff:b042:f296 3.资源名 /?tn62095104_29_oem_dgch6*/void parseUrl(const char* url, char* host, char* resPath); void getImgUrl(const char* html, char* imgUrl);typedef struct Spider {char host[128]; //主机名char resPath[128]; //资源路径SOCKET fd; }Spider; //获取资源 void spider_init(Spider* spider, const char* url) {memset(spider-host, 0, sizeof(spider-host));memset(spider-resPath, 0, sizeof(spider-host));parseUrl(url, spider-host, spider-resPath); } //连接到服务器:网络编程 void spider_connect(Spider* spider) {//打开socket 2.2 确定买什么手机WSADATA wsadata;WSAStartup(MAKEWORD(2, 2), wsadata);//创建socket 去买手机spider-fd socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (spider-fd SOCKET_ERROR){printf(create socket falied %d\n, WSAGetLastError());return;}//通过域名获取ip地址HOSTENT* hent gethostbyname(spider-host);if (!hent){printf(get host ip failed %d\n, WSAGetLastError());return;}//链接服务器SOCKADDR_IN addr;addr.sin_family AF_INET;addr.sin_port htons(80); //端口号 http:80 端序memcpy(addr.sin_addr, hent-h_addr, sizeof(IN_ADDR));if (SOCKET_ERROR connect(spider-fd, addr, sizeof(addr))){printf(connect falied %d\n, WSAGetLastError());return;} }//解析域名 void parseUrl(const char* url, char* host, char* resPath) {if (!url)return;//https://www.baidu.com/?tn62095104_29_oem_dgch6// www.baidu.com/?tn62095104_29_oem_dgch6const char* ph strstr(url, //);ph ph ? ph 2 : url;//简写puts(ph);const char* pp strstr(ph, /);if (!pp){strcpy(host, ph);strcpy(resPath, /); //index.html}else{//先获取hoststrncpy(host, ph, pp - ph);//再获取resapathstrcpy(resPath, pp);} } //获取网页 void getHtml(Spider* spider) {//连接到服务器spider_connect(spider);//给服务器发送请求 char header[128] { 0 };sprintf(header, GET %s HTTP/1.1\r\n, spider-resPath);sprintf(header strlen(header), Host:%s\r\n, spider-host);strcat(header, Connection:close\r\n);strcat(header, \r\n);if (SOCKET_ERROR send(spider-fd, header, strlen(header), 0)) {printf(send failed %d\n, WSAGetLastError());return;}char html[1024 * 5] { 0 };//获取网页int len recv(spider-fd, html, 1024 * 5, 0);if (len SOCKET_ERROR) {printf(recv failed %d\n, WSAGetLastError());}else{//保存到文件FILE* fp fopen(maye.html, w);{if (!fp)return;}fwrite(html, sizeof(char), strlen(html), fp);fclose(fp);printf(%s\n, html);}char imgUrl[128] { 0 };getImgUrl(html, imgUrl); // 假设 getImgUrl 函数已经定义...Spider sp;spider_init(sp, imgUrl); // 初始化 Spider 对象spider_connect(sp);sprintf(header, GET %s HTTP/1.1\r\n, sp.resPath);sprintf(header strlen(header), Host:%s\r\n, sp.host);strcat(header, Connection:close\r\n);strcat(header, Content-Type: image/jpeg\r\n);strcat(header, \r\n);puts(header);if (SOCKET_ERROR send(spider-fd, header, strlen(header), 0)) {printf(send failed %d\n, WSAGetLastError());return;}//获取图片char recvBuf[1024] { 0 };len recv(sp.fd, recvBuf, 1023, 0);//查找有没有\r\n\r\nchar* psp strstr(recvBuf, \r\n\r\n);if (!psp)return;psp sizeof(\r\n\r\n);//接收图片数据FILE* fp fopen(hello.png, wb);fwrite(psp, sizeof(char), len - (psp - recvBuf), fp);fclose(fp);//继续接受没有接受完毕的while (1){len recv(sp.fd, recvBuf, 1023, 0);if (len 0){break;}else{fwrite(recvBuf, sizeof(char), len, fp);}}fclose(fp);printf(%s\n, imgUrl); } //获取网页中的图片链接 void getImgUrl(const char* html, char* imgUrl) {if (!html || !imgUrl)return;char* beg strstr(html, img src\);if (!beg){return;}else{printf(\n\n\n\n\n\n\n\n\n\n\n\n\n\n);//puts(beg10);beg 10;}//找结尾的双引号char* end strstr(beg, \);if (!end){printf(网页错误\n);}else{strncpy(imgUrl, beg, end - beg);} }//下载图片int main() {printf(请输入要爬取的网址);char url[512] http://www.netbian.com;//gets_s(url, 128);puts(url);Spider sp;spider_init(sp, url);printf(Host:%s resPath:%s\n, sp.host, sp.resPath);getHtml(sp);getchar();return 0; }
http://www.zqtcl.cn/news/128171/

相关文章:

  • 沧州企业网站深圳建筑招聘网
  • 汽车网站开发的需求分析怎样策划一个营销型网站
  • 网站建设公司彩铃网站模板是怎么制作
  • 代做毕设网站推荐一键安装微信
  • 网站建设评比标准人工智能的网站
  • 网站 提示建设中计算机网站建设和维护
  • 网站菜单分类怎么做wordpress黄页插件
  • 安防网站下载营销型网站建设 高校邦
  • 一个几个人做网站的几个故事电影网站开发设计的完成情况
  • 如何开个人网站网站建设技能考试试题三
  • 做网站都要学什么工程造价询价网站
  • 东莞市官网网站建设企业福田做商城网站建设哪家服务周到
  • 网站界面设计技巧宁波seo排名优化价格
  • 做外贸经常用的网站需要优化的网站有哪些
  • 俄语网站建设注意事项seo公司优化排名
  • jsp做的当当网站的文档专业电子科技网站建设
  • 有免费的微网站是什么推广普通话调查问卷
  • 滁州市南谯区住房和建设局网站网站服务器规划 用户数
  • 静态企业网站源码网站sem托管
  • 17网站一起做网店打不开专业做网站公司 前景
  • 哪个网站可以做围棋作业游览有关小城镇建设的网站
  • 这么建立com的网站开发公司以现金方式补贴给客户
  • 网站建设 常见问题wordpress 手机顶部菜单
  • 医院网站 功能系统开发文档
  • 免费的企业网站网站空间商排名
  • 格子三合一交友婚恋网站模板网站后台用什么
  • 网站运营与管理期末考试数字营销经典案例
  • 官方网站英语门户网站策划书
  • 建国外网站需要多少钱做网站的底图尺寸多大
  • wordpress页面更新发布失败seo网络优化是做什么的