gecko

python 嵌套爬取网页信息

半城伤御伤魂 提交于 2021-01-23 06:34:27
当需要的信息要经过两个链接才能打开的时候,就需要用到嵌套爬取。 比如要爬取起点中文网排行榜的小说简介,找到榜单网址: https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page=1 将榜单上的小说链接爬出来,在从小说链接里面爬小说简介 import pymysql import requests from hashlib import md5 import re import os #获取网页源代码 def get_one_page(url): # 设置请求头,防止被网站屏蔽 headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 6.1; Win64; x64)\ AppleWebKit/ 537.36 (KHTML, like Gecko) Chrome/ 58.0 . 3029.110 Safari/ 537.36 ' , } try : r = requests. get (url, headers= headers) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except requests

Brave浏览器中的IPFS 

[亡魂溺海] 提交于 2021-01-22 18:40:29
Brave浏览器用户人数已经超过2000万,并且已经开始支持本地 IPFS 协议,让人们可以更轻松简单的使用分布式网络,这一实现标志着更具弹性、用户至上的互联网发展的迈出重要一步。 IPFS协议仍然在开发、完善中。相信很多人在日常上网过程中,经常遇到如网络中断或404,重要信息(如COVID-19新闻)被过滤、联网成本高昂,以及断网和离线环境中的共享与协作功能等实际问题。 这些并不是每个人面临的问题,那些一点也没有察觉到这些问题的人可能不明白为什么IPFS如此重要。但是对于迫切需要一个弹性开放的互联网,使得他们可以自主控制自己在线体验的人,IPFS现在只需点击一下就可以安装在Brave的浏览器上。 Brave浏览器中的IPFS Brave已将IPFS集成到其桌面Web浏览器中,用于 Windows、macOS 和 Linux。当 Brave 检测到一个地址是 IPFS 内容的 HTTP 网关 URL,或者本机 IPFS 地址(例如将提示用户安装和启用本机 IPFS 节点或使用 HTTP 网关)时,使用的默认网关是 dweb.link,由协议实验室运行。 用户还可以在浏览器设置中指定自己选择的网关。您可以在访问的IPFS管理UI,或启用IPFS助手并在主菜单选择"我的节点"按钮。 为什么选择 Web 浏览器? 现代网络浏览器支持在互联网上进行实验、创新和新的协作以及价值交换模式

【python爬虫】用requests库模拟登陆人人网

南楼画角 提交于 2021-01-21 03:26:53
说明:以前是selenium登陆取cookie的方法比较复杂,改用这个 """ 用requests库模拟登陆人人网 """ import requests # 这例有个坑,这个登录地址不是直接看到的登录地址,这是人人网的反爬机制 url = " http://www.renren.com/PLogin.do " # url = "http://www.renren.com/SysHome.do" # 在此输入账号密码,注意“email”“password”是网页中查到的key值 data = { " email " : " 18602992468 " , " password " : " qqq123 " } headers = { " User-Agent " : " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36 " } session = requests.Session() session.post(url, data = data, headers = headers) response = session.get( " http://www.renren.com/970006185 " )

写一个python 爬虫爬取百度电影并存入mysql中

江枫思渺然 提交于 2021-01-20 06:29:35
目标是利用python爬取百度搜索的电影 在类型 地区 年代各个标签下 电影的名字 评分 和图片连接 以及 电影连接 首先我们先在mysql中建表 create table liubo4( id int not null auto_increment, score VARCHAR( 50 ) DEFAULT 0, name VARCHAR( 50 ) DEFAULT 0, Pic VARCHAR( 200 ) DEFAULT 0, dianyingurl VARCHAR( 200 ) DEFAULT 0, leixing VARCHAR( 50 ) DEFAULT 0, niandai VARCHAR( 50 ) DEFAULT 0, diqu VARCHAR( 50 ) DEFAULT 0, PRIMARY KEY (id)) 其中 图片地址列和电影地址列的 字段名要设置长一点 否则插入时不够,最好为每一列设置默认值。 我们在切换页数时会发现,浏览器地址栏中是没有变化的,这就使得无法直接用地址栏的url变化和xpath来获取标签进行爬取。 那么我们就用另外一种-----解析json字符串。 首先打开f12 我们在切换页数时,会出现两个记录。 点开1.2两个行的行踪记录,能看到他们的Request URL 仔细看会发现这两个request的url主要不同在在于

python打造seo必备工具-自动查询排名

心不动则不痛 提交于 2021-01-19 07:57:59
因为工作需要,利用业余时间开发的,可以查询百度排名+360排名工具,附上代码。 #360搜索排名查询 # -*- coding=utf-8 -*- import requests from lxml import etree headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } def ss360(keyword,num,search_url): search_datas='' for x in range(1,num+1): print(f"正在查询第{x}页搜索结果...") url=f"https://www.so.com/s?q={keyword}&pn={x}" html=requests.get(url,headers=headers).text #print(html) con=etree.HTML(html) #print(con) title=con.xpath('//h3[@class="res-title "]/a/text()') #print(title) #print(len(title)) datas=con.xpath('///h3

谷歌技术专家关于JavaScript的一个引人注目的观点

若如初见. 提交于 2021-01-13 12:41:29
谷歌的一位技术专家曾经和我分享过关于 JavaScript 的一个引人注目的观点:它不是真正的内聚编程语言——至少不是正式意义上的内聚编程语言。 ECMA-262规范定义了JavaScript,但没有一个真正的实现。更重要的是,这种语言远非封闭的。 它游走在一个名副其实的相邻规范的海洋中,这些规范管理着 JavaScript 涉及的所有 api: DOM、网络请求、系统硬件、存储、事件、文件、加密,以及数百种其他规范。Web浏览器及其各种 JavaScript 引擎都按照它们认为合适的方式实现这些规范。 Chrome 有 Blink/V8, Firefox 有 Gecko/SpiderMoney, Safari 有 WebKit/JavaScriptCore。 浏览器将以符合规范的方式运行几乎所有的 JavaScript,但 web 上到处都是每种浏览器特性的示例。因此,JavaScript被更准确地描述为一组浏览器实现。尽管 web 纯粹主义者可能坚持认为 JavaScript 不应该是 web 页面的组成部分,但他们必须承认,如果没有它,现代 web 将会严重退化。 可以毫不夸张地说,JavaScript 实际上是不可避免的:手机、电脑、平板电脑、电视、游戏机、智能手表、冰箱,甚至汽车现在都有运行 JavaScript 的 web 浏览器

python抢票开发——设备预约助手实现

岁酱吖の 提交于 2021-01-13 08:52:10
  女朋友是药学院的,做实验时需要在特定的网站上进行设备预约,由于预约人数过多,从而导致从浏览器登录不进去或者登录进去预约失败等情况,所以我用python帮她写了一个抢位助手,让程序自动去进行位置预定,实测表明,程序的设备预定运行结果十分理想,可以预约到自己想要预约的时间段以及设备。下面分享我是如何编写该软件助手的。    首先,在浏览器开发者工具上查看浏览器和设备预定服务器的交互信息,找出关键的信息,如登录页的URL,登录信息提交页的URL,post提交的数据,Cookies信息等。这个过程不涉及编程操作。   在浏览器上,经过了登录,一系列的跳转和点击后,就到了设备预约提交页面,然后点击提交按钮之后,设备预约就成功了,在网络调试窗口中,发现点击提交按钮之后,浏览器向后台页面http://222.200.178.***/Appointment/Appointment 发起了POST 请求,查看POST请求参数后,发现参数信息含有预约时间,预约设备ID等信息,POST参数如下: POST参数 SubjectId =2e5f5627-3bbf-4aae-ac2b- b5cc586f4d70 SubjectProjectId SampleNo SampleCount SampleStuff SampleSize Target UseNature = 0

判断是PC端还是移动端

為{幸葍}努か 提交于 2021-01-13 05:47:01
var browser= { versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { // 移动终端浏览器版本信息 trident: u.indexOf( ' Trident ' ) > - 1 , // IE内核 presto: u.indexOf( ' Presto ' ) > - 1 , // opera内核 webKit: u.indexOf( ' AppleWebKit ' ) > - 1 , // 苹果、谷歌内核 gecko: u.indexOf( ' Gecko ' ) > - 1 && u.indexOf( ' KHTML ' ) == - 1 , // 火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), // 是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // ios终端 android: u.indexOf( ' Android ' ) > - 1 || u.indexOf( ' Linux ' ) > - 1 , // android终端或者uc浏览器 iPhone: u.indexOf( ' iPhone ' ) > - 1 ,

python 爬取bilibili 视频弹幕

独自空忆成欢 提交于 2021-01-12 10:01:41
1 # -*- coding: utf-8 -*- 2 # @author: Tele 3 # @Time : 2019/04/09 下午 4:50 4 # 爬取弹幕 5 import requests 6 import json 7 import os 8 from lxml import etree 9 10 11 def main(): 12 headers = { 13 " User-Agent " : " Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 " , 14 } 15 # av13197279 16 url = " https://api.bilibili.com/x/web-interface/view?aid=13197279 " 17 response = requests.get(url, headers= headers) 18 if response.status_code == 200 : 19 cid = json.loads(response.content.decode())[ " data " ][ " cid " ] 20 print ( " cid: " ,

爬虫验证码处理与IP处理

一曲冷凌霜 提交于 2021-01-12 04:16:59
引入 相关的门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码。通过验证码达到分流和反爬的效果。   - 1.对携带验证码的页面数据进行抓取    - 2.可以将页面数据中验证码进行解析,验证码图片下载到本地    - 3.可以将验证码图片提交给三方平台进行识别,返回验证码图片上的数据值         - 云打码平台:          - 1.在官网中进行注册(普通用户和开发者用户)        - 2.登录开发者用户:      - 1.实例代码的下载(开发文档-》调用实例及最新的DLL-》PythonHTTP实例下载)      - 2.创建一个软件:我的软件-》添加新的软件      -3.使用示例代码中的源码文件中的代码进行修改,让其识别验证码图片中的数据值 代码展示: # 该函数就调用了打码平台的相关的接口对指定的验证码图片进行识别,返回图片上的数据值 def getCode(codeImg): # 云打码平台普通用户的用户名 username = ' bobo328410948 ' # 云打码平台普通用户的密码 password = ' bobo328410948 ' # 软件ID,开发者分成必要参数。登录开发者后台【我的软件】获得! appid = 6003 # 软件密钥,开发者分成必要参数。登录开发者后台