作者drmexro (丝瓜瓜瓜)
看板Python
标题[问题] 用回圈request网站无法取得资料
时间Sun Jun 4 13:33:59 2017
前阵子刚开始试着用python捞公开资料库的资料
程式码如下
import requests
from bs4 import BeautifulSoup as soup
payload={
"accountingyear":"",
"item":"00",
"crop":"001",
"city":"00",
"btnSend":"(unable to decode value)"
}
accountingyear=["100","101"]
for y in accountingyear:
payload['accountingyear']=y
print(payload)
r=requests.post("
http://agr.afa.gov.tw/afa/pgcropcity.jsp",data=payload)
print(r)
soup=soup(r.text.encode('utf-8'),'html.parser')
print(soup)
原本预期会得到100年, 101年的资料
可是结果是
{'accountingyear': '100', 'item': '00', 'crop': '001', 'city': '00',
'btnSend': '(unable to decode value)'}
<Response [200]>
<html><head>......</html>
{'accountingyear': '101', 'item': '00', 'crop': '001', 'city': '00',
'btnSend': '(unable to decode value)'}
<Response [200]>
[]
结果变成只有得到100年的资料,101年的资料只有[]
想知道是要如何解决
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.244.85.66
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1496554442.A.CD1.html
1F:→ neil987: btnsend是有数值的 请用decode看看是什麽 06/04 16:04
3F:→ neil987: 然後 好玩的一点是 request得到的text是正常的 06/04 16:17
4F:→ neil987: 是丢进去soup的地方坏掉了你可以试试看print r.text 06/04 16:17
5F:→ neil987: 为什麽坏掉 看看你前面import soup 又用soup作为变数 06/04 16:23
6F:→ neil987: 所以把soup这个名称改掉 就会正常了 06/04 16:24
7F:→ drmexro: 原来如此 居然是在这种地方错误…谢谢 06/04 18:01