
python
文章平均质量分 51
linuxvfast
这个作者很懒,什么都没留下…
展开
-
css选择器
attribute=value] [target=_blank]:选择target=”_blank“的所有元素。element,element div,p:选择所有元素和所有元素。element element div p:选择元素内部的所有p元素。[attribute] [target]:选择带有target属性的所有元素。#id #firstname:选择id=“firstname“的所有元素。element p:选择所有元素。* *:选择所有元素。原创 2023-05-30 11:29:07 · 204 阅读 · 0 评论 -
存储html为json格式
import requestsfrom bs4 import BeautifulSoupimport jsonuser_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'headers = {'User-Agent': user_agent}r = requests.get('http://seputu.com/', headers=headers)soup = BeautifulSoup.原创 2021-06-21 10:38:46 · 334 阅读 · 0 评论 -
css学习记录
来源:Python爬虫开发与项目实战,没有链接记录下html中css的样式:1、内联样式:<body style="background-color: green;margin: 0;padding: 0;"></body>2、原创 2021-06-01 14:24:19 · 159 阅读 · 0 评论 -
UDP编程
TCP通信需要建立可靠的连接,通信双方以流的方式发送数据。相对于TCP来说,UDP是面向无连接的协议。使用UDP协议时,不需要建立连接,只需要知道对方的ip地址和端口,就可以直接发送数据包原创 2021-05-31 22:34:00 · 155 阅读 · 2 评论 -
TCP编程
创建和运行TCP服务端的五个步骤1、创建Socket,绑定Socket到本地IP与端口2、开始监听连接3、进入循环,不断接收客户端的连接请求4、接收传来的数据,并发送给对方数据5、传输完毕后,关闭Socket...原创 2021-05-31 22:07:06 · 85 阅读 · 0 评论 -
2021-05-18
爬取一个网站有很多种方法,选用哪种方法更加合适,则取决于目标网站的结构爬取网站常见方法:1、爬取网站地图2、遍历每个网页的数据库ID3、跟踪网页链接import urllib.request, urllib.errordef download(url,user_agent='wswp', num_retries=2): ''' 下载网页 :param url: 下载地址 :user_agent='wswp' 用户代理 :param n原创 2021-05-31 21:49:48 · 96 阅读 · 0 评论 -
封装爬虫数据
Item基类:自定义数据类(如BookItem)的基类Field类:用来描述自定义数据类包含哪些字段(如name、price等)自定义一个数据类,只需要继承Item,并创建一系列Field对象的类属性(类似于在django中自定义Model)定义数据类class BookItem(Item): name = Field() price = Field()创建BookItem对象book1 = BookItem(name='Needful Things',price=45.0)原创 2021-05-31 21:49:04 · 96 阅读 · 0 评论 -
进程和线程
fork实现多进程普通的方法都是调用一次,返回一次,而os的fork方法是调用一次,返回两次,原因是操作系统将当前进程(父进程)复制出一份进程(子进程),这两个进程几乎完全相同,于是fork方法分别在父进程和子进程中返回。子进程中永远返回0,父进程中返回的是子进程的ID。import osif __name__ == '__main__': print 'current Process (%s) start ...' % (os.getpid()) pid = os.fork原创 2021-05-31 21:48:14 · 72 阅读 · 0 评论 -
socket模块
Socket:提供标准的BSD Sockets APISocketServer:提供服务器中心类,可以简化网络服务器的开发socket类型:Socket类型 描述 socket.AF_UNIX 只能用于单一的Unix系统进程通信 socket.AF_INET 服务器之间网络通信 socket.AF_INET6 IPv6 socket.SOCK_STREAM 流式socket,用于TCP socket.SOCK_DGRAM 数原创 2021-05-30 19:02:34 · 399 阅读 · 1 评论 -
分部式进程
分部式进程是指将Process进程分布到多台机器上,充分利用多台机器的性能完成复杂的任务。分布式进程在Python中依然要用到multiprocessing模块。multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。可以写一个服务进程作为调度者,将任务分布到其他多个进程中,依靠网络通信进行管理。创建分布式进程的步骤:1、建立队列Queue,用来进行进程间的通信。服务进程创建任务队列task_queue,用来作为传递任务给任务进程的通道;服务进原创 2021-05-30 17:47:30 · 100 阅读 · 0 评论 -
协程
协程(coroutine)又称微线程,纤程,是一种用户级的轻量级线程。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态。在并发编程中,协程与线程类似,每个协程表示一个执行单元,有自己的本地数据,与其他协程共享全局数据和其他资源。协程需要用户自己来编写调度逻辑,对于CPU来说,协程其实是单线程,所以PCU不用考虑怎么调度、切换上下文,这就省去了CP原创 2021-05-30 14:48:09 · 114 阅读 · 0 评论 -
css选择器
帮助文档https://www.w3.org/TR/selectors-3/原理:css选择器的语法比xpath更简单一些,功能没有xpath强大。当我们调用Selector对象的CSS方法时,在内部会使用python库的cssselect将css选择器的表达式翻译成xpath表达式,然后调用Selector对象的xpath方法。基本语法构建HtmlResponse对象from scrapy.selector import Selectorfrom scrapy.http import H原创 2021-05-23 18:51:12 · 135 阅读 · 0 评论 -
xpath使用
基础语法表达式描述/选中文档的根.(点)选中当前节点…(点点)选中当前节点的父节点ELEMENT选中子节点中所有ELEMENT元素节点//ELEMENT选中后代节点中所有ELEMENT元素节点*选中所有元素子节点text()选中所有文本子节点@ATTR选中名为ATTR的属性节点@*选中所有属性节点创建html文档from scrapy.selector import Selectorfrom scrapy.ht原创 2021-05-23 16:22:34 · 272 阅读 · 0 评论 -
爬虫
用途:避免很多的重复操作或者需要大批量的去查看一些信息需要注意的点:1、检查robots.txt2、查看网站地图http://xxxx/protocol.html,地图会提供所有的网页链接,该文件经常缺失或者过期3、估算网站大小,可以通过google搜索的site关键词过滤域名结果,可以访问http://www.google.com/advanced_search了解到接口和其他高级搜索参数的用法 可以搜索site:xx域名统计总数,site:域名/view只搜索国家页面...原创 2021-05-18 11:01:34 · 71 阅读 · 0 评论 -
Response内置Selector
在第一次访问一个Response对象的selector属性时,Response对象内部会以自身为参数自动创建Selector对象,并将该Selector对象缓存,以便下次使用。例子如下:from scrapy.http import HtmlResponsetext ='''<html> <body> <h1>Helo World</h1> <h1>Hello Scrapy</h1>原创 2021-05-16 22:50:51 · 458 阅读 · 0 评论 -
python自定义filter函数
缺点:最多两个参数,不能加空格优点:能作为if条件操作步骤如下:1、在Django项目的app目录下创建templatetags模块2、创建任意 .py 文件,如:xx.py 内容如下:#!/usr/bin/env python#coding:utf-8fromdjangoimporttemplatefromdjango.utils.safestringimportmark_saferegister=template.Library()@...原创 2020-08-22 15:52:34 · 396 阅读 · 0 评论 -
python自定义函数sample_tag
操作步骤如下:1、在Django项目的app目录下创建templatetags模块2、创建任意 .py 文件,如:xx.py 内容如下:#!/usr/bin/env python#coding:utf-8fromdjangoimporttemplatefromdjango.utils.safestringimportmark_saferegister=template.Library()@register.simple_tagdefmy_s...转载 2020-08-22 15:38:47 · 344 阅读 · 0 评论 -
django删除表重建
删除django的表之后重新运行 python manage.py makemigrations python manage.py migrate 没有重新新建删除的表,百度搜索了一篇很不错,操作之后删除的表恢复了先到数据库把表删掉:drop table注释django中对应的Model执行以下命令: python manage.py makemigr...转载 2020-01-17 09:18:29 · 209 阅读 · 0 评论 -
Ubuntu安装paramiko模块
Ubuntu安装paramiko模块报错如下:vfast@vfast-virtual-machine:~/host_manage/server/core$ sudo pip3 install paramiko [sudo] password for vfast: sudo: pip3: command not found尝试安装pip命令vfast@vfast-virtual-machine:~/...原创 2018-04-12 10:41:01 · 3216 阅读 · 1 评论