当前位置:首页 » 编程语言 » python访问网页

python访问网页

发布时间: 2022-05-14 16:20:01

A. python3.6怎么访问网页

使用Python访问网页主要有三种方式: urllib, urllib2, httplib
urllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session
1. 最简单的页面访问
res=urllib2.urlopen(url)
print res.read()
2. 加上要get或post的数据
data={"name":"hank", "passwd":"hjz"}
urllib2.urlopen(url, urllib.urlencode(data))
3. 加上http头
header={"User-Agent": "Mozilla-Firefox5.0"}
urllib2.urlopen(url, urllib.urlencode(data), header)使用opener和handler
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
4. 加上session
cj = cookielib.CookieJar()
cjhandler=urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cjhandler)
urllib2.install_opener(opener)
5. 加上Basic认证
password_mgr = urllib2.()
top_level_url = "http://www.163.com/"
password_mgr.add_password(None, top_level_url, username, password)
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
6. 使用代理
proxy_support = urllib2.ProxyHandler({"http":"http://1.2.3.4:3128/"})
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)
7. 设置超时
socket.setdefaulttimeout(5)

B. Python如何访问网站不缓存

1、运行时加-u参数,如#python3-utest.py>>test.log&用man查看python的-u参数。
强制stdin,stdout和stderr完全不缓冲。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。

C. 使用python是否能打开网页

可以啊,不仅可以打开,还可以将网页的内容爬取下来

下面这段代码就可以实现:

importurllib.request

#网址
url="http://www..com/"

#请求
request=urllib.request.Request(url)

#爬取结果
response=urllib.request.urlopen(request)

data=response.read()

#设置解码方式
data=data.decode('utf-8')

#打印结果
print(data)

#打印爬取网页的各类信息

print(type(response))
print(response.geturl())
print(response.info())
print(response.getcode())

它的运行结果如下:

你可以拷贝到自己的运行环境去试一试

D. 如何访问需要登陆的网页 python

可以尝试添加相关cookie来试着去访问。自己先本地登录一下,然后抓取页面cookie,然后构造相应的请求,让他看起来像是登录过的,如果网站验证的不是特别严的话,是可以成功的。
还有一种方法,就是用Selenium框架,他会打开一个浏览器,然后访问指定url。但是还是免不了需要登录一次,但是登录过程,输入账号密码和点击登录按钮都是你可以模拟的。具体你可以参照官方文档。

E. 如何利用Python爬虫从网页上批量获取想要的信息

稍微说一下背景,当时我想研究蛋白质与小分子的复合物在空间三维结构上的一些规律,首先得有数据啊,数据从哪里来?就是从一个涵盖所有已经解析三维结构的蛋白质-小分子复合物的数据库里面下载。这时候,手动一个个去下显然是不可取的,我们需要写个脚本,能从特定的网站选择性得批量下载需要的信息。python是不错的选择。

import urllib #python中用于获取网站的模块
import urllib2, cookielib

有些网站访问时需要cookie的,python处理cookie代码如下:
cj = cookielib.CookieJar ( )
opener = urllib2.build_opener( urllib2.HttpCookieProcessor(cj) )
urllib2.install_opener (opener)

通常我们需要在网站中搜索得到我们需要的信息,这里分为二种情况:

1. 第一种,直接改变网址就可以得到你想要搜索的页面:

def GetWebPage( x ): #我们定义一个获取页面的函数,x 是用于呈递你在页面中搜索的内容的参数
url = 'http://xxxxx/xxx.cgi?&' + ‘你想要搜索的参数’ # 结合自己页面情况适当修改
page = urllib2.urlopen(url)
pageContent = page.read( )
return pageContent #返回的是HTML格式的页面信息

2.第二种,你需要用到post方法,将你搜索的内容放在postdata里面,然后返回你需要的页面

def GetWebPage( x ): #我们定义一个获取页面的函数,x 是用于呈递你在页面中搜索的内容的参数
url = 'http://xxxxx/xxx' #这个网址是你进入搜索界面的网址
postData = urllib.urlencode( { 各种‘post’参数输入 } ) #这里面的post参数输入需要自己去查
req= urllib2.Request (url, postData)
pageContent = urllib2.urlopen (req). read( )
return pageContent #返回的是HTML格式的页面信息

在获取了我们需要的网页信息之后,我们需要从获得的网页中进一步获取我们需要的信息,这里我推荐使用 BeautifulSoup 这个模块, python自带的没有,可以自行网络谷歌下载安装。 BeautifulSoup 翻译就是‘美味的汤’,你需要做的是从一锅汤里面找到你喜欢吃的东西。

import re # 正则表达式,用于匹配字符
from bs4 import BeautifulSoup # 导入BeautifulSoup 模块

soup = BeautifulSoup(pageContent) #pageContent就是上面我们搜索得到的页面

soup就是 HTML 中所有的标签(tag)BeautifulSoup处理格式化后的字符串,一个标准的tag形式为:

hwkobe24

通过一些过滤方法,我们可以从soup中获取我们需要的信息:

(1) find_all ( name , attrs , recursive , text , **kwargs)
这里面,我们通过添加对标签的约束来获取需要的标签列表, 比如 soup.find_all ('p') 就是寻找名字为‘p’的 标签,而soup.find_all (class = "tittle") 就是找到所有class属性为"tittle" 的标签,以及soup.find_all ( class = re.compile('lass')) 表示 class属性中包含‘lass’的所有标签,这里用到了正则表达式(可以自己学习一下,非常有用滴)

当我们获取了所有想要标签的列表之后,遍历这个列表,再获取标签中你需要的内容,通常我们需要标签中的文字部分,也就是网页中显示出来的文字,代码如下:

tagList = soup.find_all (class="tittle") #如果标签比较复杂,可以用多个过滤条件使过滤更加严格

for tag in tagList:
print tag.text
f.write ( str(tag.text) ) #将这些信息写入本地文件中以后使用

(2)find( name , attrs , recursive , text , **kwargs )

它与 find_all( ) 方法唯一的区别是 find_all() 方法的返回结果是值包含一个元素的列表,而 find() 方法直接返回结果

(3)find_parents( ) find_parent( )

find_all() 和 find() 只搜索当前节点的所有子节点,孙子节点等. find_parents() 和 find_parent() 用来搜索当前节点的父辈节点,搜索方法与普通tag的搜索方法相同,搜索文档搜索文档包含的内容

(4)find_next_siblings() find_next_sibling()

这2个方法通过 .next_siblings 属性对当 tag 的所有后面解析的兄弟 tag 节点进代, find_next_siblings() 方法返回所有符合条件的后面的兄弟节点,find_next_sibling() 只返回符合条件的后面的第一个tag节点

(5)find_previous_siblings() find_previous_sibling()

这2个方法通过 .previous_siblings 属性对当前 tag 的前面解析的兄弟 tag 节点进行迭代, find_previous_siblings()方法返回所有符合条件的前面的兄弟节点, find_previous_sibling() 方法返回第一个符合条件的前面的兄弟节点

(6)find_all_next() find_next()

这2个方法通过 .next_elements 属性对当前 tag 的之后的 tag 和字符串进行迭代, find_all_next() 方法返回所有符合条件的节点, find_next() 方法返回第一个符合条件的节点

(7)find_all_previous() 和 find_previous()

这2个方法通过 .previous_elements 属性对当前节点前面的 tag 和字符串进行迭代, find_all_previous() 方法返回所有符合条件的节点, find_previous()方法返回第一个符合条件的节点

具体的使用方法还有很多,用到这里你应该可以解决大部分问题了,如果要更深入了解可以参考官方的使用说明哈!

F. python打开网页

open(zzy)

G. 如何用python访问网页并在表单处输入内容

我用过selenium模拟浏览器
使用selenium的chrome或firefox的webdriver打开浏览器
driver.get(url) #访问你的网页from=driver.find_elements_by_xpath("xxx")通过xpath或id等方法锁定到网页上表单的那个元素后,用
from.send_keys("xxx")来输入内容

H. python网页打不开

一、清除DNS解析缓存

关于电脑网页打不开怎么回事的问题,系统一般会缓存平时常用的DNS地址,这样能加速对网络的快速访问,但有时候这些DNS地址由于某种原因导致不正常,这会使网页无法正常打开,就会导致网页无法打开。清楚DNS缓存后一般就能解决问题了。

步骤1、按住快捷键“Windows+R键”,然后在弹出的对话框中输入“CMD”,再按 Enter键
步骤2、在新弹出的命令提示符窗口中输入“ipconfig /displaydns”,便可查看到系统之前使用过的DNS地址
步骤3、再输入命令“ipconfig /flushdns”。该命令的主要作用是清楚DNS解析缓存
步骤4、再成功刷新DNS解析缓存后,重新打开浏览器,打开网页是否能正常打开网页了呢?

二、手动设置DNS解析服务器

若清除系统DNS解析缓存后,还不能正常打开网页,那就有可能是当前系统使用的DNS解析服务器出故障了。一般情况下,上网都是通过路由器自动获取IP地址和DNS服务器地址,所以接下来要手动设置系统的DNS解析服务器地址。

步骤1、打开控制面板→查看网络状态和任务→更改适配器设置;

步骤2、找到网络连接→右键属性→进入本地连接属性设置页面
步骤3、在网络连接属性窗口中,找到 Internet协议版本4(TCP/IPv4),然后点击“属性”
步骤4、在Internet协议版本4(TCP/IPv4)的属性设置窗口中,我们选择“使用下面的DNS服务器地址”,并且在下面的DNS服务器地址栏中输入相应的DNS服务器地址,最后点击“确定”

I. 如何使用python制作网站服务器,让客户通过网址,访问我电脑的文件

首先纠正几个名词问题.

  1. 服务器是指的硬件,PYthon作为一个编程语言是无法制作硬件的.

  2. 网址更确切的说应该是域名服务,网址是一个指向地址,指向的是服务器的IP地址.


python只能制作网站后台程序,目前已经有现成的py库可以快速搭建网站服务.如:Django,Flask,Bottle 等框架都可以实现.

通过网址访问,则需要域名服务,需要从域名服务商购买域名,并将域名解析到,网站服务器上,通过80端口访问通过网站程序搭建的网站.

网址从服务商处注册,是需要一定费用的,可以根据自己的需要在服务商处选择.

域名是可以自己自定义选择的,不过一定得是别人没有注册过的才行.

服务器也是需要付费的.

J. python 多线程 访问网站

#python2
#coding=utf-8
importos,re,requests,sys,time,threading
reload(sys)
sys.setdefaultencoding('utf-8')

classArchives(object):
def__init__(self,url):
self.url=url

defsave_html(self,text):
fn='{}_{}'.format(int(time.time()),self.url.split('/')[-1])
dirname='htmls'
ifnotos.path.exists(dirname):
os.mkdir(dirname)
withopen(os.path.join(dirname,fn),'w')asf:
f.write(text)

defget_htmls(self):
try:
r=requests.get(self.url)
r.raise_for_status()
r.encoding=r.apparent_encoding
print'gethtmlfrom',url
self.save_html(r.text)
exceptException,e:
print'爬取失败',e

defmain(self):
thread=threading.Thread(target=self.get_htmls())
thread.start()
thread.join()

if__name__=='__main__':
start=time.time()
fn=sys.argv[1]iflen(sys.argv)>1else'urls.txt'
withopen(fn)asf:
s=f.readlines()
forurlinset(s):
a=Archives(url.strip())
a.main()
end=time.time()
printend-start

热点内容
安卓odd是什么意思 发布:2025-05-14 04:49:57 浏览:920
安卓哪个app能查询航班 发布:2025-05-14 04:49:04 浏览:557
linux定时shell脚本 发布:2025-05-14 04:49:00 浏览:683
审计需要什么配置 发布:2025-05-14 04:48:55 浏览:549
安卓软件为什么经常自启动 发布:2025-05-14 04:38:17 浏览:159
谭浩强c语言第三版课后答案 发布:2025-05-14 04:37:31 浏览:59
san存储和nas存储 发布:2025-05-14 04:34:44 浏览:152
幽灵战士3什么配置 发布:2025-05-14 04:33:53 浏览:114
安卓的虚拟机哪个好用 发布:2025-05-14 04:32:34 浏览:871
宿迁存储式化工设备 发布:2025-05-14 04:32:33 浏览:54