python学习之----爬取数据

网页基本了解

-- 参考链接:https://morvanzhou.github.io/tutorials/data-manipulation/scraping/1-01-understand-website/

网页的基本了解

1.html格式,配合CSS和javascript显示出来,所以我们主要从html提取网页。
2.head + body = html
3.head 不显示,是在里面,所以我们一般都是爬取body的信息
4.没有css的话网页是很丑陋的,css的class用来同意修改格式的文字,更加方便,不同的class样式不同。


正则表达+beautiful soup

1.这两个结合可以让我们更好的筛选从网页上爬到的信息,beautiful soup一般都会有tag,我们通过tag来阅读,而正则的出现则是我们更好的筛选出我们想要的信息


Request的使用更好的进入网站

参考链接

1.post的使用,一般都是来和网站交互的使用,一般会提交一些数据给我们的服务器的网站。所以比如我们登陆账号等一般都会用到post这类的。个性化信息,自己发到服务器,然后服务器根据信息返回结果给你,比如你登陆知乎,就是专门属于你的名称和图标。-
2.get的使用,一般则是只有浏览的功能,但是没有任何的数据交互。

3.关于user-agent的问题:
参考链接

爬虫是自动的爬取网站信息,实质上我们也只是一段代码,并不是真正的浏览器用户,加上User-Agent(用户代理,简称UA)信息,只是让我们伪装成一个浏览器用户去访问网站,然而一个用户频繁的访问一个网站很容易被察觉,既然我们可以伪装成浏览器,那么也同样可以通过UA信息来变换我们的身份。


更快地爬取数据:

这里我们分别有多进程,和异步来处理,这两者都是我们可以考虑的,进程的话就是用multiprocessing,但是不能用多线程,因为pyhon的多线程是不管用的,因为python的一些机制。多进程的话,就是设置好进程数就差不多了。

但是这里可以用异步来处理。异步的概念,其实在很多地方也会使用,也就是尽量的利用好等待的时间,让等待的时间去做其他的事情,重复的利用好每一秒钟就是异步的道理,异步的话除了asycnio还可以用gevent,后者更加简单。

gevent参考链接,gevent是携程,这里要注意下。


如何更好的不被反爬虫

使用selenium更好的反爬虫,这个的话会模拟人们正常的点击网页,从而有更多的操作,同时也避免被服务器发现是在爬取数据。

1.第一步是设置好selenium的参数
参考链接
参考链接2
参考链接3

2.如何定位信息:
参考链接1

你可能感兴趣的:(数据结构与Python)