这个就是url
然后我们输入参数apple,分析地址栏中的参数
不难看出这是post传参,因此我们需要用到Fiddler抓包工具,小伙伴们可以去我的资源下载
对找到那个响应的html点击进去之后找到webform表单,里面的参数我们需要直接复制粘贴,然后以python字典的方式存入。(注意引号,逗号,冒号都不要少)
拿到post参数以后我们就可以进行像get一样操作了,但是还需要处理posturl参数
postUrl = urllib.parse.urlencode(formdata).encode()
然后就是构建请求对象,打开请求对象,不过需要注意的是打开的请求对象应该.decode()进行解码
# -*- coding: utf-8 -*-
# @Author: Administrator
# @Date: 2021-01-11 11:53:07
# @Last Modified by: Administrator
# @Last Modified time: 2021-01-11 12:12:20
import urllib.request
import urllib.parse
url = 'https://fanyi.baidu.com/'
form_data = {
'from':'en',
'to':'zh',
'query':'apple',
'transtype':'translang',
'simple_means_flag':'3',
'sign':'704513.926512',
'token':'feed8d73a6c26d04dedb9ff4967514e0',
'domain':'common',
}
postUrl = urllib.parse.urlencode(form_data).encode()
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'
}
request = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(request,data=postUrl)
print(response.read().decode())
以下为结果:
然后大家可以用re正则或者xpath进行精准爬取