python爬虫笔记-urllib

urllib提供了一系列用于操作URL的功能。

from urllib import request  #引用urllib

resp = request.urlopen("http://www.baidu.com")  #打开网页,可以直接urlopen也可以先传入Request再传入urlopen

print(resp.read().decode("UTF-8"))  #读取内容设置编码模式


from urllib import request

req = request.Request("http://www.baidu.com")

req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko") #模拟浏览器,以免被网站识别为爬虫。

resp = request.urlopen(req)

print(resp.read().decode("UTF-8"))


http://www.thsrc.com.tw/tw/TimeTable/SearchResult网站为例,NetWork中的Doc的SearchResult的Origin和Use-Agent是我们需要的,为了不让网站认出你是爬虫。

#from urllibimport request  如果用了这种写法,后面要写request.Request 以及 request.urlopen

#from urllib.request import urlopen  如果用了这种写法,后面就要写Request不能写request.Request

#from urllib.request import Request  这个同上。


from urllib import request

#from urllib.request import urlopen

#from urllib.request import Request

from urllibimport parse

req = request.Request("http://www.thsrc.com.tw/tw/TimeTable/SearchResult")  

#request.Request可以request.Request().add_header 可以 request.Request().data

postData = parse.urlencode([

("StartStation","2f940836-cedc-41ef-8e28-c2336ac8fe68"),

    ("EndStation","977abb69-413a-4ccf-a109-0272c24fd490"),

    ("SearchDate","2018/04/11"),

    ("SearchTime","19:00"),

    ("SearchWay","DepartureInMandarin")

])

req.add_header("Origin","http://www.thsrc.com.tw")

req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36")#模拟浏览器行为

resp = request.urlopen(req,data=postData.encode("utf-8"))

print(resp.read().decode("UTF-8"))

你可能感兴趣的:(python爬虫笔记-urllib)