导航:首页 > 编程语言 > python模拟浏览器版本

python模拟浏览器版本

发布时间:2023-11-21 19:03:51

A. python获取cookie后怎么模拟登陆网站

运行平台:Windows

Python版本:Python3.x

IDE:Sublime text3

一、为什么要使用Cookie

Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容,登陆前与登陆后是不同的,或者不允许的。
使用Cookie和使用代理IP一样,也需要创建一个自己的opener。在HTTP包中,提供了cookiejar模块,用于提供对Cookie的支持。

三、总结

获取成功!如果看过之前的笔记内容,我想这些代码应该很好理解吧。

B. 如何使用Python加载网站所有页面

python 打开浏览器,可以做简单的刷网页的小程序。仅供学习,别用非法用途。
python的webbrowser模块支持对浏览器进行一些操作,主要有以下三个方法:

复制代码代码如下:

webbrowser.open(url, new=0, autoraise=True)
webbrowser.open_new(url)
webbrowser.open_new_tab(url)
我们需要了解webbrowser.open()方法:
复制代码代码如下:
webbrowser.open(url, new=0, autoraise=True)
在系统的默认浏览器中访问url地址,如果new=0,url会在同一个
浏览器窗口中打开;如果new=1,新的浏览器窗口会被打开;new=2
新的浏览器tab会被打开。
而webbrowser.get()方法可以获取到系统浏览器的操作对象。
webbrowser.register()方法可以注册浏览器类型,而允许被注册的类型名称如下:

复制代码代码如下:
Type Name Class Name Notes
'mozilla' Mozilla('mozilla')
'firefox' Mozilla('mozilla')
'netscape' Mozilla('netscape')
'galeon' Galeon('galeon')
'epiphany' Galeon('epiphany')
'skipstone' BackgroundBrowser('skipstone')
'kfmclient' Konqueror() (1)
'konqueror' Konqueror() (1)
'kfm' Konqueror() (1)
'mosaic' BackgroundBrowser('mosaic')
'opera' Opera()
'grail' Grail()
'links' GenericBrowser('links')
'elinks' Elinks('elinks')
'lynx' GenericBrowser('lynx')
'w3m' GenericBrowser('w3m')
'windows-default' WindowsDefault (2)
'macosx' MacOSX('default') (3)
'safari' MacOSX('safari') (3)
'google-chrome' Chrome('google-chrome')
'chrome' Chrome('chrome')
'chromium' Chromium('chromium')
'chromium-browser' Chromium('chromium-browser')

DEMO:

复制代码代码如下:

#!/usr/bin/env python
#-*- coding:UTF-8 -*-
import sys
import webbrowser
sys.path.append("libs")

url = 'httu.com'
webbrowser.open(url)
print webbrowser.get()

C. python自动化测试接口怎么实现模拟不同的网络环境访问接口

用python做自动化测试,主要是接口测试和UI自动化测试。
一、接口测试:
http协议的举例:
可以用python自带的urllib\urllib2模拟,模拟前端向服务器发送数据,获取返回值后,进行校验和判断来进行接口测试。
网上的例子也比较多,这里简单说一下,
比如request中data的边界值测试、字符测试、非空为空测试等等,都可以做
二、UI自动化测试:
html页面(python+selenium)或者一些安卓app(python+appiun)可以用。
主要是页面元素的检查、输入等。
比如可以写一个脚本,自动登录网络页面,搜索某一个关键字,并且获得此关键字的网络搜索数量。

D. 如何用python写爬虫来获取网页中所有的文章以及关键词

所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。
类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源。

在Python中,我们使用urllib2这个组件来抓取网页。
urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。

它以urlopen函数的形式提供了一个非常简单的接口。

最简单的urllib2的应用代码只需要四行。

我们新建一个文件urllib2_test01.py来感受一下urllib2的作用:

import urllib2
response = urllib2.urlopen('http://www..com/')
html = response.read()
print html

按下F5可以看到运行的结果:

我们可以打开网络主页,右击,选择查看源代码(火狐OR谷歌浏览器均可),会发现也是完全一样的内容。

也就是说,上面这四行代码将我们访问网络时浏览器收到的代码们全部打印了出来。

这就是一个最简单的urllib2的例子。

除了"http:",URL同样可以使用"ftp:","file:"等等来替代。

HTTP是基于请求和应答机制的:

客户端提出请求,服务端提供应答。

urllib2用一个Request对象来映射你提出的HTTP请求。

在它最简单的使用形式中你将用你要请求的地址创建一个Request对象,

通过调用urlopen并传入Request对象,将返回一个相关请求response对象,

这个应答对象如同一个文件对象,所以你可以在Response中调用.read()。

我们新建一个文件urllib2_test02.py来感受一下:

import urllib2
req = urllib2.Request('http://www..com')
response = urllib2.urlopen(req)
the_page = response.read()
print the_page

可以看到输出的内容和test01是一样的。

urllib2使用相同的接口处理所有的URL头。例如你可以像下面那样创建一个ftp请求。

req = urllib2.Request('ftp://example.com/')

在HTTP请求时,允许你做额外的两件事。

1.发送data表单数据

这个内容相信做过Web端的都不会陌生,

有时候你希望发送一些数据到URL(通常URL与CGI[通用网关接口]脚本,或其他WEB应用程序挂接)。

在HTTP中,这个经常使用熟知的POST请求发送。

这个通常在你提交一个HTML表单时由你的浏览器来做。

并不是所有的POSTs都来源于表单,你能够使用POST提交任意的数据到你自己的程序。

一般的HTML表单,data需要编码成标准形式。然后做为data参数传到Request对象。

编码工作使用urllib的函数而非urllib2。

我们新建一个文件urllib2_test03.py来感受一下:

import urllib
import urllib2
url = 'http://www.someserver.com/register.cgi'
values = {'name' : 'WHY',
'location' : 'SDU',
'language' : 'Python' }
data = urllib.urlencode(values) # 编码工作
req = urllib2.Request(url, data) # 发送请求同时传data表单
response = urllib2.urlopen(req) #接受反馈的信息
the_page = response.read() #读取反馈的内容

如果没有传送data参数,urllib2使用GET方式的请求。

GET和POST请求的不同之处是POST请求通常有"副作用",

它们会由于某种途径改变系统状态(例如提交成堆垃圾到你的门口)。

Data同样可以通过在Get请求的URL本身上面编码来传送。

import urllib2
import urllib
data = {}
data['name'] = 'WHY'
data['location'] = 'SDU'
data['language'] = 'Python'
url_values = urllib.urlencode(data)
print url_values
name=Somebody+Here&language=Python&location=Northampton
url = 'http://www.example.com/example.cgi'
full_url = url + '?' + url_values
data = urllib2.open(full_url)

这样就实现了Data数据的Get传送。

2.设置Headers到http请求

有一些站点不喜欢被程序(非人为访问)访问,或者发送不同版本的内容到不同的浏览器。

默认的urllib2把自己作为“Python-urllib/x.y”(x和y是Python主版本和次版本号,例如Python-urllib/2.7),

这个身份可能会让站点迷惑,或者干脆不工作。

浏览器确认自己身份是通过User-Agent头,当你创建了一个请求对象,你可以给他一个包含头数据的字典。

下面的例子发送跟上面一样的内容,但把自身模拟成Internet Explorer。

(多谢大家的提醒,现在这个Demo已经不可用了,不过原理还是那样的)。

import urllib
import urllib2
url = 'http://www.someserver.com/cgi-bin/register.cgi'
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
values = {'name' : 'WHY',
'location' : 'SDU',
'language' : 'Python' }
headers = { 'User-Agent' : user_agent }
data = urllib.urlencode(values)
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
the_page = response.read()

以上就是python利用urllib2通过指定的URL抓取网页内容的全部内容,非常简单吧,希望对大家能有所帮助。

E. 怎么用python简单的制作一个网页

1、打开sublime text 3,新建一个PY文件。

F. 用python写爬虫程序怎么调用工具包selenium

from selenium import webdriver # 用来驱动浏览器的
from selenium.webdriver import ActionChains # 破解滑动验证码的时候用的 可以拖动图片
from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys # 键盘按键操作
from selenium.webdriver.support import expected_conditions as EC # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素

阅读全文

与python模拟浏览器版本相关的资料

热点内容
arm查询法的局限性和编译流程 浏览:76
醒图的文件夹叫什么 浏览:996
php程序员北京 浏览:175
gcc编译进程数据 浏览:653
手机上的文件夹是怎样的 浏览:166
微云群共享文件夹改变 浏览:534
程序员三年后能做什么 浏览:449
分解运算法则 浏览:876
python脚本执行sudo 浏览:721
安徽科海压缩机 浏览:372
怎么下载app里的讲义 浏览:158
命令重启服务器 浏览:210
android电视root权限获取 浏览:249
解放战争pdf王树增 浏览:685
python压测app接口 浏览:953
抖音app怎么推荐 浏览:100
歌库服务器能做其他什么用途 浏览:95
安卓44虚拟机怎么root 浏览:38
程序员瘦身c盘空间 浏览:243
dell服务器温度怎么看 浏览:303