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. ...
随机推荐
- P1076 单词覆盖还原
题目描述 一个长度为 \(l(3\le l\le 255)\) 的字符串中被反复贴有 boy 和 girl 两单词,后贴上的可能覆盖已贴上的单词(没有被覆盖的用句点表示),最终每个单词至少有一个字符没 ...
- Loj2604开车旅行
Loj2604开车旅行 我完全没有看出这道题哪里是DP 首先,一个位置向后的最近和第二近我们可以通过set去简单实现 通过维护最大和次大即可 至于高度相同的情况我们可以通过先在set中查询小的来实现 ...
- [数论] hdu 5974 A Simple Math Problem (数论gcd)
传送门 •题意 一直整数$a,b$,有 $\left\{\begin{matrix}x+y=a\\ LCM(x*y)=b \end{matrix}\right.$ 求$x,y$ •思路 解题重点:若$ ...
- windows下使用cmake+mingw配置makefile
前面一节说了cmake简易使用,但是实际开发中项目文件非常多,使用哪种简易方式会导致代码十分混乱,因此本文介绍一种cmake管理大型项目的demo流程. 具体步骤如下: 1.创建相关的项目目录 cmd ...
- 第二阶段:2.商业需求分析及BRD:7.商业需求文档3
BRD模版 阐述需求来源以及调研分析情况 百度指数工具.定量的数据.发展趋势,是否与公司的战略冲突.环境政策:比如做内容的运营. 决策层看重的! 第二大块. 通过什么方式解决这个需求. 规划能力.类似 ...
- 抽象类(abstract class)和接口(interface)有什么区别?
抽象类中可以有构造器.抽象方法.具体方法.静态方法.各种成员变量,有抽象方法的类一定要被声明为抽象类,而抽象类不一定要有抽象方法,一个类只能继承一个抽象类. 接口中不能有构造器.只能有public修饰 ...
- 0005 表格table
第01阶段.前端基础.表格 表格 table 目标: 理解: 能说出表格用来做什么的 表格的基本结构组成 应用: 能够熟练写出n行n列的表格 能简单的合并单元格 表格作用: 存在即是合理的. 表格 ...
- myeclipse上进行tomcat远程调试
1.将Tomcat中的bin目录下的startup.bat启动脚本复制一份到本目录下并且修改名字为startup-debug.bat,然后打开startup-debug.bat文件 再startup- ...
- ELK学习实验001:Elastic Stack简介
1 背景介绍 在我们日常生活中,我们经常需要回顾以前发生的一些事情:或者,当出现了一些问题的时候,可以从某些地方去查找原因,寻找发生问题的痕迹.无可避免需要用到文字的.图像的等等不同形式的记录.用计算 ...
- iptables匹配端口范围,映射,网络状态
####匹配端口范围:iptables -I INPUT -p tcp -m multiport --dport 21,22,23,24 -j ACCEPT <==次选iptables -I I ...