crawler碎碎念4 关于python requests、Beautiful Soup库、SQLlite的基本操作
Requests
import requests from PIL import Image from io improt BytesTO import jason url = "..........." print(dir(requests)) #查看基本的用法 r = requests.get(url) print(r.text) print(r.status_code) print(r.encoding)
传递参数
params = {'k1':'v1','k2':'v2','k3':[1,2,3],'k4':None} #key的值是list的话就会一一赋值
r = requests.get('http://httpbin.org/get',params) print(r.url)
二进制数据
r= requests.get('.........') image = Image.open(BytesTO(r.content)) image.save('图片.jpg')
json处理
r = requests.get('https://github.com/timeline.jason') print(type(r.json)) print(r.json) print(r.text)
原始数据处理
r= requests.get('.........') with open('图片.jpg','wb+') as f : for chunk in r.iter_content(1024): f.write(chunk)
提交表单
form = {‘username’:‘xxx’,'ddddefsc':'dscdsc'} r = requests.post('http://httpbin.org/post',data = form) r = requests.post('http://httpbin.org/post',data = jason.dumps(forms)) print(r.text) cookies url ='xxxxxxxxxxxx' r = requests.get(url) cookies = r.cookies for k,v in cookies.get_dict().items(): 标准的获取cookies
print(k,,v) cookies = {'c1':'v1'} r = requests.get('http://httpbin.org/cookies',cookies= cookies) print(r.text)
重定向和重定向历史 网站跳转的时候跟踪用
r= requests.head('http://www.baidu.com',allow_redirects = True) print(r.url) print(r.status_code) print(r.history)
代理
proxies = {'http':'...','https:'.....'} #可以用来科学上网嘻嘻 r = requests.get('http://httpbin.org/cookies',proxies= proxies)
Beautiful Soup
from bs4 import BeautifulSoup
#Tag
soup = Beautifulsoup(open('test.html'))
print(soup.prettify())
print(soup.title.name)
print(soup.title)
#String
print(type(soup.title.string))
print(soup.title.string)
#Comment注释
print(type(soup.a.string))
print(soup.a.name) for items in soup.body.contents:
print(item.name)
#只找子元素的 css查询
print(soup.select('.sister')) #返回到是数组
print(soup.select('a'))
print(soup.select('#link'')) #从id开始找 print(soup.select('head >title''))
Htmlparser
from HTMLParser import HTMLParser clase MyParser(HTMLParser):
def handle_decl(self,decl):
HTMLParser.handle_decl(self,decl)
print('decl %s'% decl) def handle_starttag(self,tag,attrs):
HTMLParser.handle_starttag(self,tag,attrs)
print('<'+tag+'>') def handle_endtag(self,decl):
HTMLParser.handle_endtag(self,decl)
print('<'+tag+'>')
def handle_data(self,data):
HTMLParser.handle_data(self,data)
print('data %s',data)
def handle_startendtag(self,tag,attrs):
HTMLParser.handle_startendtag(self,tag,attrs)
print('<'+tag+ '>')
def handle_comment(self,data):
HTMLParser.handle_comment(self,data)
print('data %s',data) def close(self):
HTMLParser.close(self)
print('Close')
demo = MyParser()
demo.feed(open('hello.html')).read()
demo.close
html格式的尽量不要用xml的方式去处理,因为html可能格式不完整
sqlite3
import sqlite3 conn =sqlite3.connect('test.db')
create_sql = 'create table company(id int primary key not null,emp_name text not null );'
conn.execute(create_sql)
insert_sql = 'insert into company values(?,?)' conn.execute(insert_sql,(100,'LY'))
conn.execute(insert_sql,(200,'July'))
cursors = conn.execute('select id,emp_name from company')
for row in cursors:
print(row[0],row[1])
conn.close()
mySQL
需要指定mysql:host(ip/port),username,password,
然后在插入数据后要记得使用conn.commit
crawler碎碎念4 关于python requests、Beautiful Soup库、SQLlite的基本操作的更多相关文章
- python之Beautiful Soup库
1.简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索 ...
- Python Beautiful Soup库
Beautiful Soup库 Beautiful Soup库:https://www.crummy.com/software/BeautifulSoup/ 安装Beautiful Soup: 使用B ...
- Python之Beautiful Soup 4使用实例
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,它能够通过你喜欢的转换器实现惯用的文档导航.查找.修改文档的方式.Beautiful Soup 4 官方文档: ...
- Python之Beautiful Soup的用法
1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...
- python beautiful soup库的超详细用法
原文地址https://blog.csdn.net/love666666shen/article/details/77512353 参考文章https://cuiqingcai.com/1319.ht ...
- Python的Beautiful Soup简单使用
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能 它是一个工具箱, ...
- 【python】Beautiful Soup的使用
1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...
- 【Python爬虫学习笔记(3)】Beautiful Soup库相关知识点总结
1. Beautiful Soup简介 Beautiful Soup是将数据从HTML和XML文件中解析出来的一个python库,它能够提供一种符合习惯的方法去遍历搜索和修改解析树,这将大大减 ...
- python Beautiful Soup库入门
bs4库的HTML内容遍历方法 基于bs4库的HTML格式输出 显示:友好的显示 <tag>.prettify() 编码:bs4库将任何HTML输入都变成utf-8编码(python 3. ...
随机推荐
- linux scull 的内存使用
在介绍读写操作前, 我们最好看看如何以及为什么 scull 进行内存分配. "如何"是需要全 面理解代码, "为什么"演示了驱动编写者需要做的选择, 尽管 sc ...
- 2019-10-18-WPF-高速书写-StylusPlugIn-原理
title author date CreateTime categories WPF 高速书写 StylusPlugIn 原理 lindexi 2019-10-18 21:23:46 +0800 2 ...
- 【js】vue 2.5.1 源码学习 (四) 钩子函数 资源选项 watch 的合并策略
大体思路 (三) 1.钩子函数 自定义策略 LIFECYCLE_HOOKS= [] created = [function(){} , function(){}] 组装方法 ...
- 【HTML/CSS】置换元素
置换元素: 一个内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素. 行内级置换和非置换元素的宽度定义 对 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(8)之文章管理
到这一步,我们整个项目的核心搭建已经算是完成了,接下来就是我们业务功能的实际应用,也就是表现层的设计和实现,如果你是一个项目负责人,到这一步,接下来的工作就可以交给下面的兄弟去完成了,在这里我们用文章 ...
- C# 程序集数量对软件启动性能的影响
本文通过很多的数据测试分析在一个项目引用很多个外部项目和将外部项目的类合并到一个项目之间的启动性能的不同. 通过分析知道了如果一个项目引用了很多项目,而且在启动过程会全部调用这些项目,这时的软件性能会 ...
- Luogu P4173 残缺的字符串-FFT在字符串匹配中的应用
P4173 残缺的字符串 FFT在字符串匹配中的应用. 能解决大概这种问题: 给定长度为\(m\)的A串,长度为\(n\)的B串.问A串在B串中的匹配数 我们设一个函数(下标从\(0\)开始) \(C ...
- 使用FluentEmail发送outlook邮件
一,邮箱账号相关设置 1,创建outLook邮箱. 2,进入邮箱设置->同步电子邮件->允许设备和应用使用pop 3,设置microsoft账号的应用程序密码->进入安全性页面-&g ...
- Python 多组输入
#基于Python2.7 #若是想Python做到和C++中while(scanf()!=EOF)一样的多组输入效果,可以如实例所示书写 #实例实现了多组输入,计算A+B+C并输出的任务 while ...
- NI LabVIEW 编程规范
LabVIEW程序编写应该遵循哪些规范? 遵循这些规范有什么好处? 具体细节是什么? 针对上面三个问题一一解答: 一.LabVIEW程序编写应该遵循哪些规范? (1)前面板.后面板控件整齐,尽可能在一 ...