python爬虫入门urllib库的使用

Posted ghostwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫入门urllib库的使用相关的知识,希望对你有一定的参考价值。

urllib库的使用,非常简单。

import urllib2

response = urllib2.urlopen("http://www.baidu.com")
print response.read()

只要几句代码就可以把一个网站的源代码下载下来。

官方文档:https://docs.python.org/2/library/urllib2.html

urllib2.urlopen(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])

urlopen 只要用到前面3个参数,url, data:提交的数据. timeout:超时

也可以这样使用:

import urllib2

request = urllib2.Request("http://www.baidu.com")
response = urllib2.urlopen(request)
print response.read()

这种用法比较常见。

 我们用php创建一个表单,然后用urllib2模拟表单提交

<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
    </head>
    <body>
        <?php
            if( isset( $_REQUEST[\'submit\'] ) ) {
                $username = $_REQUEST[\'username\'];
                $userpwd = $_REQUEST[\'password\'];
                if( $username == \'ghostwu\' && $userpwd = \'abc123\') {
    echo "login success";
}else{
    echo "login error";
}
            }
        ?>
        <form action="/index.php" method="get">
            username: <input type="text" name="username" /><br/>
            password: <input type="password" name="password" /><br/>
            <input type="submit" value="submit" name="submit" />
        </form>
    </body>
</html>

接下来,我们先用get方式提交【备注:域名是我本地的,你需要用本地host映射,相应的服务器域名和ip】

#coding:utf-8

import urllib
import urllib2

values = { "username" : "ghostwu", "password" : "abc123", "submit" : "submit" }
data = urllib.urlencode( values )
url = "http://mesite.ghostwu" + "?" + data
request = urllib2.Request( url )
response = urllib2.urlopen( request )
print response.read()

执行之后,如果把用户名或者密码该错,就会出现login error.

post提交方式,当然你要把php表单改成post提交.

#!/usr/bin/python
#coding:utf-8

import urllib
import urllib2

values = { "username" : "ghostwu2", "password" : "abc123", "submit" : "submit" }
data = urllib.urlencode( values )
url = "http://mesite.ghostwu"
request = urllib2.Request( url, data )
response = urllib2.urlopen( request )
print response.read()

 

以上是关于python爬虫入门urllib库的使用的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫入门:Urllib库的基本使用

Python爬虫从入门到进阶之urllib库的使用

Python爬虫入门三之Urllib库的基本使用

Python爬虫入门三之Urllib库的基本使用

python爬虫从入门到放弃之 Urllib库的基本使用

芝麻HTTP:Python爬虫入门之Urllib库的基本使用