小甲鱼的铁粉 发表于 2020-6-30 16:08:14

关于爬虫的一个小问题

这里面这个word :hello的目的是干嘛的

import urllib.request
import urllib.parse

data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding = 'utf-8')
print(data)
response = urllib.request.urlopen('http://www.baidu.com',data = data)
html = response.read()
print(html)

comeheres 发表于 2020-6-30 16:17:30

这里的'word':'hello'就是POST提交的数据,捕捉到的Request Details如下:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: www.baidu.com
User-Agent: Python-urllib/3.8
Connection: close
Accept-Encoding: identity
Content-Length: 10

word=hello

其实这个POST的数据有点问题,返回内容如下,跳转到百度错误页面了
HTTP/1.1 302 Found
Bdpagetype: 3
Content-Type: text/html
Date: Tue, 30 Jun 2020 08:10:08 GMT
Location: https://www.baidu.com/search/error.html
Server: BWS/1.1
Set-Cookie: BDSVRTM=0; path=/
Traceid: 159350460801994787946390024816122759431
X-Ua-Compatible: IE=Edge,chrome=1
Connection: close
Content-Length: 154

<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

qiuyouzhi 发表于 2020-6-30 16:22:50

post提交的数据呀,你post总得post个什么东西吧

小甲鱼的铁粉 发表于 2020-6-30 16:24:49

comeheres 发表于 2020-6-30 16:17
这里的'word':'hello'就是POST提交的数据,捕捉到的Request Details如下:




这个内容你是打印出来的还是自己去网页的开发者人员工具里面复制来的?

comeheres 发表于 2020-6-30 16:26:34

小甲鱼的铁粉 发表于 2020-6-30 16:24
这个内容你是打印出来的还是自己去网页的开发者人员工具里面复制来的?

HTTP Debugger抓取的

小甲鱼的铁粉 发表于 2020-6-30 16:27:08

comeheres 发表于 2020-6-30 16:26
HTTP Debugger抓取的

能个让我看一下你的代码吗?

comeheres 发表于 2020-6-30 16:34:25

小甲鱼的铁粉 发表于 2020-6-30 16:27
能个让我看一下你的代码吗?

代码就是你贴的代码,然后打开HTTP Debugger,再运行代码,就能捕捉到数据了



页: [1]
查看完整版本: 关于爬虫的一个小问题