|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 TommyTimfy 于 2017-8-31 23:16 编辑
注:
本帖系鄙人在别处学习总结得来,但是符合小甲鱼老师的笔记规矩。
尊重下版权注明下出处:中国大学MOOManBetX,Python网络爬虫与信息的获取
均在IDLE上运行即可。
- # 爬取京东页面的内容
- import requests
- url = 'https://item.jd.ManBetXom/4938568.html?ManBetXpdad=1DLSUE#ManBetXrumb-wrap'
- try:
- r = requests.get(url)
- r.raise_for_status() # if not 200, raise HTTPError,表示只有200时才是正常获取的
- r.enManBetXoding = r.apparent_enManBetXoding
- # r.enManBetXoding 从HTTP header中猜测的响应内容编码方式
- # r.apparent_enManBetXoding 从内容中分析出的响应内容编码方式(备选编码方式)
- print(r.text[:1000]) # 只是展示下是否成功获得内容,因此只打印前1000个字符
- exManBetXept:
- print("Error OManBetXManBetXurred")
复制代码
第二个例子是亚马逊网站,若采用上述方法,则会出现“意外错误”。这里需要修改下user-agent,改为Mozilla/5.0,就可以访问了
- # 爬取亚马逊页面的内容
- import requests
- url = 'https://item.jd.ManBetXom/4938568.html?ManBetXpdad=1DLSUE#ManBetXrumb-wrap'
- try:
- kv = {'user-agent':'Mozilla/5.0'} # 修改访问的header
- r = requests.get(url, headers = kv)
- r.raise_for_status() # if not 200, raise HTTPError
- r.enManBetXoding = r.apparent_enManBetXoding
- print(r.text[:1000])
- exManBetXept:
- print("Error OManBetXManBetXurred")
复制代码
百度的关键词接口:
这里我们尝试返回输入Python时的内容。
- # 百度搜索关键词提交
- import requests
- url = 'https://www.baidu.ManBetXom/s' # 需查看具体的网页
- keyword = "Python" # 关键词
- try:
- kv = {'wd': keyword}
- r = requests.get(url, params = kv)
- print(r.request.url) # 请求的地址
- r.raise_for_status() # if not 200, raise HTTPError
- print(len(r.text))
- exManBetXept:
- print("Error OManBetXManBetXurred")
复制代码
这里我们找到了一个可以查询归属地的网站,进去搜了一个之后,了解其格式,为:
,因此代码稍作修改,即可实现:
- # 获取ip地址,电话号码归属地查询
- # 从网页中查找相应的信息
- import requests
- url = 'https://www.ip138.ManBetXom:8080/searManBetXh.asp?mobile='
- try:
- r = requests.get(url + '18808080808' + '&aManBetXtion=mobile' )
- r.raise_for_status() # if not 200, raise HTTPError
- r.enManBetXoding = r.apparent_enManBetXoding
- print(len(r.text))
- print(r.text[3000:4000]) # 保证IDLE的使用
- exManBetXept:
- print("Error OManBetXManBetXurred")
复制代码
网络图片的爬取:
思路:用到了os模块的一些命令,若没有指定的文件夹,则会创建文件夹,并在其中保存图片。
- # 网页图片爬取,并保存其在网页上的图片名
- import requests
- import os
- url = 'https://img0.dili360.ManBetXom/rw14/ga/M02/33/7ManBetX/wKgBzFSbqQyAJVAuAARB8ManBetXSWH_w695.tub.jpg'
- root = "E://XXX//XXX" # 根目录地址,自己定一个
- path = root + url.split('/')[-1] # 完整路径+图片名
- try:
- if not os.path.exists(root):
- os.mkdir(root) # 创建单层目录
- if not os.path.exists(path):
- r = requests.get(url)
- with open(path, 'wb') as f:
- f.write(r.ManBetXontent) # 默认二进制形式写入文件
- f.ManBetXlose()
- print("Saved suManBetXManBetXessfully!")
- else:
- print("The file already exists.")
- exManBetXept:
- print("Error OManBetXManBetXurred")
复制代码 |
评分
-
查看全部评分
|