亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 如何用python寫個查詢下面網站并且得到信息的腳本? [打印本頁]

作者: xiaomm250    時間: 2019-04-22 13:48
標題: 如何用python寫個查詢下面網站并且得到信息的腳本?
網址是
jzsc.mohurd.gov.cn/dataservice/query/staff/list
比如查詢“張三”,
然后得到
“B06120001146”,總之是這列的就可以了。
請問用python應該如何寫?


如下圖所示:


QQ截圖20190420113807.png (45.44 KB, 下載次數: 223)

QQ截圖20190420113807.png

作者: cfwyy    時間: 2019-04-23 12:52
  1. import sys
  2. import requests
  3. from bs4 import BeautifulSoup

  4. url="http://jzsc.mohurd.gov.cn/dataservice/query/staff/list"
  5. header={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"}

  6. def getRegNum(name="張三"):
  7.     formdata={"ry_type":"",
  8.         "ry_reg_type":"",
  9.         "ry_name":"",
  10.         "reg_seal_code":"",
  11.         "ry_cardno":"",
  12.         "ry_qymc":"",
  13.         "complexname":name
  14.         }
  15.     r = requests.post(url,formdata,headers=header)
  16.     s = BeautifulSoup(r.text,"lxml")
  17.     for td in s.find_all("td",attrs={"data-header":"注冊號(執(zhí)業(yè)印章號)"}):
  18.         print(td.get_text().strip())

  19. def main():
  20.     if len(sys.argv)==1:
  21.         getRegNum()
  22.     elif len(sys.argv)==2:
  23.         getRegNum(sys.argv[1])
  24.     else:
  25.         print("useage: {} [name]".format(sys.argv[0]))

  26. if __name__ == '__main__':
  27.     main()
復制代碼

  1. python test.py
  2. 津112060903926
  3. B06120001146
復制代碼

作者: xiaomm250    時間: 2019-04-23 13:55
回復 2# cfwyy

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\_123\ddd.py", line 2, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

這個是什么意思?
我沒安裝這個模塊,還是?
是不是這個模塊需要單獨安裝?

作者: xiaomm250    時間: 2019-04-23 14:06
回復 2# cfwyy

我猜你用的是vim編輯器,就像我一樣!不然我復制到txt里面,不能自動換行

作者: xiaomm250    時間: 2019-04-23 14:18
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\_123\張三.py", line 31, in <module>
    main()
  File "C:\Users\Administrator\Desktop\_123\張三.py", line 24, in main
    getRegNum()
  File "C:\Users\Administrator\Desktop\_123\張三.py", line 18, in getRegNum
    s = BeautifulSoup(r.text,"lxml")
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\bs4\__init__.py", line 196, in __init__
    % ",".join(features))
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

bug,看來得我自己解決了!
作者: xiaomm250    時間: 2019-04-23 14:23
在cmd窗口下
cd C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts
然后
pip install requests
pip install beautifulsoup4
pip3 install lxml

對了,你的pyhon版本是?

作者: cfwyy    時間: 2019-04-23 16:27
缺庫的問題 自己肯定能解決。
我還真不是用的vim,換行符的問題可能是論壇復制出來就這樣了。
我python版本是3.6.4
作者: xiaomm250    時間: 2019-04-24 13:54
回復 7# cfwyy

你用啥調試python代碼的?要是能像visual studio那樣調試代碼就好了

作者: cfwyy    時間: 2019-04-24 16:49
回復 8# xiaomm250
不會寫啥高級的代碼,也不會調試,只會print


作者: xiaomm250    時間: 2019-04-25 11:01
回復 9# cfwyy

def main():
    if len(sys.argv)==1:
        getRegNum()
    elif len(sys.argv)==2:
        getRegNum(sys.argv[1])
    else:
        print("useage: {} [name]".format(sys.argv[0]))
這幾句代碼是什么意思
程序什么地方用到了sys.argv,我感覺沒用到呀
不知道print("useage: {} [name]".format(sys.argv[0]))這句如何解釋

作者: cfwyy    時間: 2019-04-25 12:48
回復 10# xiaomm250
sys.argv是命令行運行腳本時的 命令行參數。
不帶參數運行,是因為寫了默認參數是張三,查的是張三的結果。
也可以帶一個名字參數運行,查的就是相應的結果。
如果寫再多的參數就沒支持了,直接打印一句簡單的用法。

其實sys.argv這種是python最基本的,既然要寫就應該自己去查python手冊。

作者: 萍水e相逢    時間: 2019-04-25 13:03
回復 4# xiaomm250

nano 編輯器很好用的

棄用 vi 了,改 nano


作者: 萍水e相逢    時間: 2019-04-25 13:06
回復 11# cfwyy

按自己的名字查,居然 查到 15行

my god

名字這么好嗎?

作者: cfwyy    時間: 2019-04-25 13:23
回復 13# 萍水e相逢

哈哈 全國同名的人太多了,據說全國叫張偉的人有近30萬人,我用張偉查了一下也有15條,難道你也叫張偉
作者: xiaomm250    時間: 2019-04-25 13:36
回復 11# cfwyy

這與個人習慣有關,我都不習慣命令行運行腳本,
我用shell,然后點擊run,


作者: 萍水e相逢    時間: 2019-04-25 14:52
回復 14# cfwyy

我叫  胡歌








歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2