介绍常用的三种方法:search(),sub(),findall() search():匹配并提取第一个符合规律的内容,然后返回一个正则表达式的对象 #提取字符串中的第一个数字 import re a='a1b2d3f4' infos=re.search('\d+',a) print(infos) #返回一个正则表达式的对象 print(infos.group()) #return 1 sub():替换 import re phone='123-456-789' new_phone=re.sub…
转载自我的博客:http://www.mylonly.com/archives/1418.html 经过两个晚上的奋斗.将上一篇文章介绍的爬虫略微改进了下(Python爬虫之路--简单网页抓图),主要是将获取图片链接任务和下载图片任务用线程分开来处理了,并且这次的爬虫不只能够爬第一页的图片链接的,整个http://desk.zol.com.cn/meinv/以下的图片都会被爬到,并且提供了多种分辨率图片的文件下载,详细设置方法代码凝视里面有介绍. 这次的代码仍然有点不足,Ctrl-C无法终止程序…
转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用"网络数据采集",有时会把网络数据采集程序称为网络机器人(bots).最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用HTML表单或其他网页文件),然后对数据进行解析,提取需要的信息. 本文假定读者已经了解如何用代码来抓取一个远程的URL,并具备表单如何提交及JavaScrip…
python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据.让后通过request对象的相关方法来获取这些数据.request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项.而python爬虫中的request其实就是通过python向服务器发出request请求,得到其返回的信息. >>…
对字符串的处理分类:分段,连接,剔除,提取,综合 连接:+,* +(加法)的使用 a='i' b=' love' c=' you' print(a+b+c) #return i love you *(乘法)的使用 a='word' print(a*3) #result wodwordword 分段:split() split():将字符串按标志(默认为空格)分成列表格式 a='www.baidu.com' print(a.split('.')) #return ['www','baidu','c…
介绍一个简单的python爬虫,通过Tkinter创建一个客户端,当输入要查询的LOL用户名称的时候,可以显示出当前用户的所在服务器,当前战力和当前段位. 爬取网页地址:http://lol.duowan.com/zdl/ python版本:2.7 需要用到的模块:Tkinter  urllib2  json sys 实例代码: import urllib2, json, threading from Tkinter import * import sys reload(sys) sys.set…
这里面通过爬虫github上的一些start比较高的python项目来学习一下BeautifulSoup和pymysql的使用.我一直以为山是水的故事,云是风的故事,你是我的故事,可是却不知道,我是不是你的故事. github的python爬虫 爬虫的需求:爬取github上有关python的优质项目,以下是测试用例,并没有爬取很多数据. 一.实现基础功能的爬虫版本 这个案例可以学习到关于pymysql的批量插入.使用BeautifulSoup解析html数据以及requests库的get请求数…
上次 我们知道了怎么操作 MySQL 数据库 python爬虫26 | 把数据爬取下来之后就存储到你的MySQL数据库. MySQL 有些年头了 开源又成熟又牛逼 所以现在很多企业都在使用 MySQL MySQL 是关系型数据库 其实当前主流的数据库 例如 Oracle.DB2.PostgreSQL.Microsoft SQL Server 等等 都是关系型数据库 这样的话 它们可以在数据表之间建立索引.约束 进行关联 让表与表之间产生联系 可以让数据重复利用,不会浪费 相对应的就是 非关系型数…
之前爬取的网页都是采用"GET"方法,这次爬取"拉勾网"是采取了"POST"的方法.其中,"GET"和"POST"之间最大的区别就是:"GET"请求时,数据会直接显示在地址栏:"POST"请求时,数据在数据包(封装在请求体中,通常是js中),爬取难度相对大点."拉勾网"恰好是需要"POST"请求才能获取信息.于是,就写了这次的程…
*** python中的变量不需要事先声明再使用,而可以直接来一个变量名,后面一个赋值,接着一个数据值,如 hw = "hello python",相当于Python能智能的根据你后面变量的值而自动判断你的数据类型.这就是Python的魅力之一,简洁! 一.基本数据类型 1.整型 int 1.1长整型 long  基本合并为int 因此,在Python 中,int表示的范围比C语言表示的范围大的多 2.浮点型 float 小数,与c语言中float差别不大 3.字符串 与c语言有些差别…
注:文笔不好,不喜勿喷,当个段子看看就好 一.初识Python 第一次听到Python是在2016年大概暑假 时候(即将大三),因为对黑客技术的蜜汁热爱(虽然自己并不会),在玄魂大大的公众微信号中看到的Python黑客编程(加上个黑客就感觉好nb).其实当时也仅仅是感兴趣而已(打发时间),就随便看了下,并没有深入学习总结.2017年年初,正式决定学习Python. 二.Python的诞生背景  "Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期…
疫情期间在家闲来无事,每天打游戏荒废了一段时间.我觉得自己不能在这么颓废下去,就立马起身写了一点python代码(本人只是python新手). 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:1097524789 找来找去突然找到一个不错的网站(你懂得),看见上面的照片于是起来自己…
urllib库 urllib库是Python中一个最基本的网络请求的库.它可以模拟浏览器的行为发送请求(都是这样),从而获取返回的数据 urllib.request 在Python3的urllib库当中,所有和网络请求相关的方法都被集成到了urllib.request模块下 #基本使用 from urllib import request resp = request.urlopen("URL") print(resp.read()) 如果是成功的,那么我们打印的内容和在浏览器中右击查…
模块 sys模块 sys.argv:参数列表,'using_sys.py'是sys.argv[0].'we'是sys.argv[1].'are'是sys.argv[2]以及'arguments'是sys.argv[3].注意,Python从0开始计数,而非从1开始. sys.path:包含输入模块的目录名列表 .pyc文件,字节码文件,用于python把模块编译成字节码,这样可以保证平台无关性和下次调用时的效率 模块的__name__:每个Python模块都有它的__name__,如果它是'ma…
正则表达式:是一个特殊的符号系列,检查字符串是否与指定模式匹配. python中的re模块拥有全部的正则表达式功能. 判断字符: 类型: 数目:有无:   个数:单值     区间      离散 判断一个字符: 表示一个字符:①确定    (1)字符             a,b,1,4     (2)转义字符       \.    ②完全不确定   (.)      匹配任意单个字符,不包括换行 ③相对确定      [ abc]     表示a或b或c 判断多个字符 类型:数字,单词,…
介绍python如何打开文件和读取数据 新建TXT文档,为追加模式: f=open('c;/wendang/demo.txt','a+') content="abcdefg123456789" f.write(content) f.close()…
介绍python函数的定义与使用方法,介绍Python的常用控制语句:判断和循环 函数: 格式 def   函数名(参数1,参数2): return ‘结果’ 判断语句:就是多选一 二选一: if condition: do else: do 多选一: if  condition: do elif condition: do else: do 实例:密码登录 def count_login(): password= input('password:') if( password== '12345…
转载自我自己的博客:http://www.mylonly.com/archives/1401.html 用Python的urllib2库和HTMLParser库写了一个简单的抓图脚本.主要抓的是http://desk.zol.com.cn/meinv/这个链接下的图片,通过得到图集的起始URL地址.得到第一张图片,然后不断的去获取其下一个图片的URL.继而得到全部首页的图集的图片. 整个源代码例如以下.比較简单.写这个仅仅是简单的练手而已 #coding: utf-8 #############…
文化         经管 ....略 结论: 一个模块的评分与评论数相关,评分为 [8.8——9.2] 之间的书籍评论数往往是模块中最多的…
三大库:requests,lxml,beautifulSoup. Request库作用:请求网站获取网页数据. get()的基本使用方法 #导入库 import requests #向网站发送请求,获取数据. res= requests.get(‘http://bj.xiaozhu.com/’) #打印返回值,<response [200]>成功,<response [404]>,<response [400]>失败 print(res) #打印返回文本 print(r…
爬虫主要做两件事 ①模拟计算机对服务器发起Request请求 ②接收服务器端的Response内容并解析,提取所需的信息 互联网页面错综复杂,一次请求不能获取全部信息.就需要设计爬虫的流程. 本书主要介绍两种流畅①多页面爬虫流程②跨页面爬虫流程 多页面爬虫流程: (1)手动翻页并观察各页面的URL构成特点,构造出所有页面的URL存入列表 (2)根据URL列表依次循环取出URL (3)定义爬虫函数 (4)循环调用爬虫函数,存储数据. (5)循环结束,结束爬虫程序. 跨页面的爬虫程序: (1)定义爬…
变量类型: ①单值:int ②多值:数组 ③复杂:类 变量类型:就是变量的数据结构,表示这个变量所代表的内容的格式是怎样的. (多值)四种基本数据结构: 列表,字典,元组,集合 列表: ①元素可变,   意义:可对列表进行,增,删,改,爬虫使用较少 ②位置有序 ③可存储所有对象 使用: 列表中位置有序,用法与字符串的切片和索引类似 #索引 list=['aa','bb','cc','dd'] print(list[0]) #return aa  (string) #切片 print(list[1…
正则表达式 search //匹配第一次遇到符合规则的 匹配IP地址 import re re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])','192.168.1.1')   findall:匹配所有,把所有匹配到的字符放到一个列表中并返回 >>> p = re.compile('\d+') >>> p.findall('3只小甲鱼,…
作用:用于读取来自网上(服务器上)的数据   基本方法:urllib.request.urlopen(url,data=None,[]timeout]*,cafile=None,cadefault=False,context=None) url:需要打开的网址 data:Post提交的数据 timeout:设置网站的访问超时时间   示例1:获取页面 import urllib.request response = urllib.request.urlopen("http://www.fishc…
from selenium import webdriver url='https://www.jianshu.com/p/a64529b4ccf3' def get_info(url): include_title=[] driver=webdriver.PhantomJS() driver.get(url) driver.implicitly_wait(20) author=driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[…
非关系型数据库:MongoDB.关系型数据库:MySQL 关系型和非关系型的区别: 安装: 使用: 应用场景: mongoDB是一种非关系型数据库,分为四大类:键值存储数据库,列存储数据库,文档型数据库,图形数据库. 重点学习mysql import pymysql conn= pymysql.connect(host='localhost',user='root',passwd='root',db='mydb',port=3306,charset='utf8') cursor=conn.cur…
lxml库:是xml解析库,也支持html文档解析功能,实用功能:自动修正补全html代码. 使用流程:①导入lxml中的etree库,②利用etree.HTML(文件名)或etree.parse(本地打开,路径)进行初始化,③etree库把HTML文档解析为Element对象. from lxml import etree text=""" <div > <div class="sidebarContent">sdssdds &l…
通过chrome浏览器的使用简单介绍网页构成 360浏览器使用右键审查元素,Chrome浏览器使用右键检查,都可查看网页代码. 网页代码有两部分:HTML文件和CSS样式.其中有<script></script>标签就是javaScript代码. 通俗比喻:把网页比喻成一个房子HTML文件是框架,CSS样式是装修,javaScript代码是房子的电器. 审查元素和查看网页源码的区别:是源代码和DOM的区别,审查元素实际上是查看DOM,DOM渲染过了,查看网页源码看到的才是未解析的源…
例某网站的URL集是这样的 https://www.555zw.com/book/40/40934/10334793.html https://www.555zw.com/book/40/40934/10334794.html https://www.555zw.com/book/40/40934/10334795.html https://www.555zw.com/book/40/40934/10334796.html https://www.555zw.com/book/40/40934/…
看到了中文版的python tutorial,发现是网页版的,刚好最近在学习爬虫,想着不如抓取到本地 首先是网页的内容 查看网页源码后发现可以使用BeautifulSoup来获取文档的标题和内容,并保存为doc文件. 这里需要使用from bs4 import BeautifulSoup 来导入该模块 具体代码如下: # 输出所在网址的内容from bs4 import BeautifulSoup def introduce(url): res = requests.get(url) res.e…