python爬虫思路

爬虫

主要涉及的库

  • requests:从因特网上下载文件和网页
  • BeautifulSoup:解析HTML,即网页编写的格式
  • multiprocessing
  • itertools

爬取的主要步骤

  • 根据关键字,城市,以及页面编号生成需要爬取的页面链接
  • 用requests获取相应的网页内容
  • 用BeautifulSoup解析,获取需要的关键信息
  • 将爬取的信息存入数据库中,插入新的记录或更新已有记录
  • 用multiprocessing启动多线程进行爬取,提高运行效率

项目目的

  • 数据分析师岗位需求的地域性分布;
  • 整个群体中薪酬分布的情况;
  • 不同城市数据分析师的薪酬情况是怎样的;
  • 该岗位对于工作经验的要求是怎样的;
  • 根据工作经验的不同,薪酬是怎样变化的;
  • 从用人单位的角度看,数据分析师应当具备哪些技能?
  • 掌握不同技能是否会对薪酬有影响?影响是怎样的?

列表和字符串的相互转换

  • list=string.split('\n') 根据换行符将字符串拆分成列表
  • string=" ".join(list) 用空格将列表中的元素连接成字符串

requests模块从Web下在文件

  • res=requests.get('url'), res包含服务器对url请求作出的反应(html代码或其他)保存在res对象的text中。
  • res.raise_for_status()如果下载文件出错,抛出异常,程序中断,成功则什么也不做。
  • res.iter_content(m)每次迭代返回m个字节
  • r=request.post("url",'key1':'value1','key2':'value2')

HTTP

  • 保证客户机与服务器之间的通信:客户端想服务器提交HTTP请求,服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

请求方法

  • GET: 从指定的资源请求数据:查询字符串(名称/值对)是在请求的URL中发送,请求有长度的限制(2048),可保存在浏览器记录中,安全性较差,只应当用于取回数据。
  • POST:向指定的资源提交要被处理的数据:查询字符串(名称/值对)是在POST请求的HTTP消息主体中发送,请求不会保留在浏览器历史记录中,不能被收藏,对数据长度没有要求,安全性更高。
  • HEAD:从指定的资源请求数据,但只返回HTTP报头,不返回文档主体
  • PUT:上传指定的URI表示
  • DELETE:删除指定资源
  • OPTIONS:返回服务器支持的HTTP方法
  • CONNECT:把请求转换到透明的TCP/IP通道

爬虫要解决的问题

  • 找到请求页面的方法,使得通过python访问得到通过浏览器访问一样的页面。
  • 请求页面时一些参数的提交
  • 找当前页面下一页的url
  • 将爬到的数据保存在数据库中
  • 对爬到的数据进行分析
  • 利用多进程爬虫
  • 利用加密解密

WEB开发

  • HTML:定义页面的内容
  • web服务器:负责发送HTML到浏览器的应用。
  • CSS:控制页面元素的样式
  • Javascript:页面的交互逻辑
web 应用
  • 浏览器发送一个HTTP请求
  • 服务器收到请求,生成一个HTML文档
  • 服务器将HTML文档作为HTTP响应Body发送给浏览器
  • 浏览器收到HTTP响应,从HTTP body中取出HTML文档并显示

web框架:解决以下问题的方式

  • 怎样检测请求的url以及返回正确的页面
  • 怎样处理get和post请求
  • 怎样处理session和cookie
  • 如何扩展程序使其处理上千个并发连接
建立web应用的最主要的问题
  • 如何根据请求的url生成或找到相应的HTML代码
  • 怎样动态的构造请求的HTML返回给客户端,怎样得到HTML中需要计算或者需要从数据库中取出的信息。

Python web框架工作方式

  • 接收HTTP请求,分派代码,产生HTML,创建带有内容的HTTP响应。
  • Django路由:请求处理url到负责生成HTML的代码之间的映射过程。不同的url对应不同的HTML代码。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值