#什么是爬虫 请求网站,提取网页内容的最大化程序。获取到的是html代码,须要从这些文本中提取须要的数据html
向目标站点发送HTTP请求,即发送一个Request,请求能够包括额外的header等信息,等待服务器响应java
2.获取响应内容python
若是服务器正常,在第一步会返回一个response,response的内容即是所要获取的页面内容,类型可能有HTML,Json字符串、二进制数据(如图片视频)等类型。git
3.解析内容github
获得的内容多是HTML。可使用正则表达式、网页解析库进行解析。若是是json,则能够直接解析为json对象进行解析;若是是二进制数据,能够保存或者进一步的处理。web
4.保存数据:面试
能够存为文本,也能够保存到数据库或者特定格式的文件正则表达式
#request和response chrome
#request中包含什么? 数据库
#爬虫能够抓取什么样的数据?
#获取到数据后,如何解析?
#注意: 使用request.get('url')获得的只是第一个请求的内容,即当咱们执行:
import requests
response = requests.get('http://www.weibo.com')
print(response.text)#打印出的是第一个请求返回的代码
复制代码
即返回的是下图中红色方框中的代码:
原生的html是不包括任何信息的,页面显示的信息是经过后续的js调用后台的接口拿到数据,js再把网页加载出来的。因此elements中的源代码和咱们拿到的源代码是不同的:
#pip install selenium
from selenium import webdirver
driver = webdriver.Chrom();#自动打开chrome浏览器
driver.get('www.weibo.com')#浏览器页面自动跳转到指定网址
print(driver.page_source)#获取到的源代码和浏览器页面的源代码一致,这是渲染后的页面源码,js渲染的问题就不存在了。
复制代码
这种方式的缺点是后台会自动运行chrome浏览器
###解决JavaScript渲染问题的方案总结
#怎样保存数据
欢迎关注我的公众号【菜鸟名企梦】,公众号专一:互联网求职面经、java、python、爬虫、大数据等技术分享**: 公众号**菜鸟名企梦
后台发送“csdn”便可免费领取【csdn】和【百度文库】下载服务; 公众号菜鸟名企梦
后台发送“资料”:便可领取5T精品学习资料**、java面试考点和java面经总结,以及几十个java、大数据项目,资料很全,你想找的几乎都有