Python spider (二) Requests && Lxml && bs4

1.安装Requests && Lxml && bs4

pip install requests
pip install bs4
pip install lxml

2. requests简单应用

  • 观察百度翻译是如何工作的
  • 按照工作流程编写属于自己的翻译
  1. 翻译
import requests
import json

if __name__ == "__main__":
	# 根据ajax的请求url,进行翻译
    post_url = "https://fanyi.baidu.com/sug"
    headers = {
   
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
    }
    key = input("Input word:")

    params = {
   
        'kw':key
    }

    response = requests.post(url=post_url,data=params,headers=headers)

    dic_obj = response.json()
    fp = open('./translation.json','w',encoding='utf-8')
    # json数据持久化存储
    json.dump(dic_obj,fp=fp,ensure_ascii=False)
    # 打印获取的json数据
    print(dic_obj)

输出结果如下

Input word:python
{
   'errno': 0, 'data': [{
   'k': 'Python', 'v': '蛇属,蟒蛇属'}, {
   'k': 'python', 'v': 'n. 巨蛇,大蟒'}, {
   'k': 'pythons', 'v': 'n. 巨蛇,大蟒( python的名词复数 )'}]}

  1. KFC查询系统
  post_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'

    cname = input("请输入城市:")
    params = {
   
        'cname': cname,
        'pid':'',
        'keyword': '',
        'pageIndex': '1',
        'pageSize': '10'
    }

    response = requests.post(url=post_url,params=params,headers=headers)

    page_txt = response.text

    filename = cname + '.html'
    with open(filename , 'w' , encoding='utf-8') as fp:
        fp.write(page_txt)

    print(page_txt , 'OVER!')

输入城市地址就可以完成周边查询

请输入城市:北京
{
   "Table":[{
   "rowcount":443}],"Table1":[{
   "rownum":1,"storeName":"前门","addressDetail":"西城区前门西大街正阳市场1号楼中部&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值