Home  >  Q&A  >  body text

php - 请问如何更快速有效的爬网站?

大家好,其实我是门外汉,我上学的时候,玩过大话西游,QQ幻想,后来洛奇,学了一点按键精灵(一种和vb差不多的编程语言),辅助我玩游戏来着。这是我的编程基础。

要是我爬别人的网站,就会先把需要爬的url保存在TXT,或者Excel文件里。

用按键精灵打开浏览器,模拟手动(快捷键或者鼠标点击)输入TXT或者Excel的网址。

然后模拟手动全选,然后用 处理字符串函数,mid,right,left,len,instr 这些提取需要的字符串。

然后保存到Excel,或者是 txt 。

这样做其实很费机器,CPU使用很高,而且网速占用也很高。因为要加载很多不需要的图片,如图片,flash,mpg文件等。
而且经常出错,可能是excel出错,也可能是脚本出错,很多时候是浏览器出错。

请问大家,你们是怎么做的呢?

我目前会php,MySQL,JavaScript,jQuery,ajax 等编程语言。对json,xml,html 的数据,也都了解了。

希望大家结合我会的,当然以方便为主,有更方便的也可以告诉一下。

另外对于浏览器的调试信息,也就是f12的面板,我就会看js的输出。

只要有思路,欢迎大家回答,我起点低,基本是个回答都对我有帮助,谢谢了!

ringa_leeringa_lee2639 days ago798

reply all(8)I'll reply

  • PHP中文网

    PHP中文网2017-04-11 10:35:43

    你说的是爬取网站代码,还是让搜索引擎快速爬取你的网站,如果是前置一般都是用python写爬虫,这个我不是太了解,但是后者就是seo,这个我还是比较了解的 一般的方法,是登陆Google搜索引擎和百度,向搜索引擎提交自己的网站URL,这样做是不够。此外Google Sitemaps 有助于加速网页的查找,这也是抓取网页和编制索引重要的第一步,但有很多因素会影响抓取/编制索引过程。Google Sitemaps 可让您告诉Google关于您网页的信息(您认为哪些网页最重要、这些网页的更改频率), 让Google更有效的抓取我们网站的网页。所以我们还要在为我们的网站制作一个Google Sitemaps,这样一般在2-4天之内Google 就会收录你的网站,首次收录只是收录你首页和首页上链接的网页。在Google Sitemaps中设置网页的更新频率为daily,你只要每天跟新你的网站,Google就会不断来更新你的站,用不了多久Google就会深度漫游你的网站,收录更多的页面。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:35:43

    你熟悉php的话,先用这个语言以及一个叫phpquery的库解决问题吧,发现有性能瓶颈、需要爬的极致爬的漂亮的时候引入python的pyspider、beautifulsoup等

    很老的项目,但是我一些小的爬虫都用它写,简单

    https://github.com/TobiaszCud...

    另外还发现一个国人写的基于phpquery的开源项目,目测更简单一些
    http://querylist.cc/

    reply
    0
  • 迷茫

    迷茫2017-04-11 10:35:43

    我只会用 Node 爬取简单的网页 https://github.com/hanzichi/f...

    reply
    0
  • ringa_lee

    ringa_lee2017-04-11 10:35:43

    你这个说的不明确,爬虫说简单也简单,说难也难,主要看你需要抓取什么类型的网站。写爬虫大家用得多的就是python,然后还有人用java,node.js 之类的,其实理论上只要是一门编程语言都可以用来写爬虫。但是区别在于容易与否,python关键是可以用的库多,不用自己重复造轮子。如果不用python的话,我给你说个思路。爬虫三大步,首先要发起http请求,然后返回页面,最后分析页面提取数据。当然这个过程可以循环,静态页面简单的爬取都很简单,如果遇到js生成的动态页面,你需要抓包分析其中的Ajax请求发送的数据,还有返回的数据,在python中可以简单粗暴的模拟浏览器渲染js页面。简单的数据可以打印出来或者TXT文件,数据量过大时放到数据库中。最后一点也是最重要的一点就是效率问题,爬虫这个东西大家学两周都会写,但是你得知道Google就是一只大爬虫。

    reply
    0
  • 高洛峰

    高洛峰2017-04-11 10:35:43

    用node爬过

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:35:43

    写爬虫的童鞋可以试试神箭手云爬虫,自带JS渲染、代理ip、验证码识别等功能,还可以发布和导出爬取的数据,生成图表等,都在云端进行,不需要安装开发环境。

    reply
    0
  • 黄舟

    黄舟2017-04-11 10:35:43

    你这个属于页面信息的抓取,推荐你先学习一下simple_html_dom库(php的一个库)和curl(php的一个扩展),然后可以用他们尝试着抓取一些小数据,存储进mysql里面转成Excel或者写入文件。

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-11 10:35:43

    可以试下Scrap,scrapy.org。

    reply
    0
  • Cancelreply