socket-----爬虫&&文件传输

Posted Elaine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket-----爬虫&&文件传输相关的知识,希望对你有一定的参考价值。

最近想着写几个小demo

写了一个爬虫,用的是C++,基本思想就是一层一层的找类似深搜吧,抓取的页面是www.cnblogs.com,从localhost发送request请求,给www.cnblogs.com,并且根据返回的数据,在中查找用户名,将用户名用map保存,因为有的用户名可能不止一次访问到,所以存在一个判断如果当前的用户名访问过了,就不需要在存储了,并且根据当前的用户名,拼接当前用户的url,eg:www.cnblogs.com/username,然后继续查找用户名,并且此时建立一个queue,一个是结构体类型的queue,存储的是当前的URI和用户名,一个是存储用户名的,现在存在一点,如果用户不登陆,在查找一个用户的主页时,返回的response数据中没有该用户关注的或者是粉丝,或者是评论人的username,换句话说,从当前用户额主页中获取不到username。

文件传输系统,是看了别人的博客,以前的聊天系统,能实现从客户端传送文件到server,并且里面有用户名和密码,存储的时只是本地文件,并没有用到数据库,这个在存储用户名和密码用mysql存储,一只有个问题是在和数据库进行链接的时候,把一些参数的内容混淆了,链接的时候把password设置为了NULL,导致一直连接不上数据库(本机测试,没有远程)

mysql_real_connect(&conn,"localhost","user","password","database",port,unix_socket,0))

port端口为0,使用unix连接方式,unix_socket为null时,表明不使用socket或管道机制,最后一个参数经常设置为0

MYSQL *mysql_real_connect(MYSQL *mysql,
 const char *host,
 const char *user, 
const char *passwd, 
const char *db, 
unsigned int port,
 const char *unix_socket,
 unsigned long client_flag)
上面描述了五个参数的主要取值,MYSQL *为mysql_init函数返回的指针,host为null或              // localhost时链接的是本地的计算机,当mysql默认安装在unix(或类unix)系统中,root账户是没// 有密码的,因此用户名使用root,密码为null,当db为空的时候,函数链接到默认数据库,在进行  // mysql安装时会存在默认的test数据库,因此此处可以使用test数据库名称,port端口为0,使用    // unix连接方式,unix_socket为null时,表明不使用socket或管道机制,最后一个参数经常设置为0


返回值:当连接成功时,返回MYSQL连接句柄,失败,返回NULL。当成功时,返回值与第一个参数

然后当前试了一个chorme的安装包,当传递到server端,再打开chorme时,but安装包不能运行了,会报error。

继续完善功能。。。。

以上是关于socket-----爬虫&&文件传输的主要内容,如果未能解决你的问题,请参考以下文章

两万字博文教你python爬虫requests库,看完还不会我把我女朋友都给你❤️熬夜整理&建议收藏❤️

python——爬虫&问题解决&思考

爬虫--Scrapy-CrawlSpider&分布式爬虫

Nodejs & socket io:警告 - 引发错误:错误:监听 EADDRINUSE

深度&&广度优先算法

设置 React 组件以监听 socket.io