scrapy框架(Scrapy和Requests的post请求详解)

:暂无数据 2026-06-29 15:40:01 :0

scrapy框架(Scrapy和Requests的post请求详解)

各位老铁们,大家好,今天由我来为大家分享scrapy框架,以及Scrapy和Requests的post请求详解的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

Scrapy和Requests的post请求详解

1、scrapy框架敏局发送post请求有两种格桥猛让式

2、requests发送post请求,传递的参数也分两种格式(data和json)

scrapy.Request()请求与requests.post()请求用法相同,得知携到的数据也是相同的 。

首先,我们先看下FormRequest的部分源码:

阅读源码可以得知:
FormRequest:只能提交表单数据
FormRequest会将 formdata 传递的字典转化为 urlencode 进行 表单 数据的提交

方法一

首先我们阅读下JsonRequest源码:

阅读源码可以得知:
JSONRequest 已经做了 json.dumps 操作

方法二

如何使用scrapy框架循环爬京东数据后导入Mysql的方法


本文主要为大家分享一篇J如何使用scrapy框架循环爬京东数据后导入Mysql的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。
京东是有反爬机制的,所以我用到用户代理、伪装成浏览器。
***隐藏网址***
大概是9000多条数据,不在列表之内的商品没有算在内。
遇到的问题:
1、用户代理最好是用方法(use_proxy)封装起来,因为自己之前就是把代码直接写在parse下,遇到not enough values to unpack的问题,我实在不知道错误出在哪一句,就每句代码之后print,发现问题出在urlopen(),但是我反复试、查网上,也没发现错误在哪,写成方法就解决了,现在想来可能是因为parse方法是处理respose。
2、在把数据导入mysql之前,我先试着把数据导入到文件中,但是在导入中,发现x.txt的大小一直是0kb,1kb在变,没有增长,想想应该是覆盖了,本来是认为自己fh.close()写的位置不对,后来突然想到
fh = open("D:/pythonlianxi/result/4.txt", "w")写错了,应该要把’w’变成’a’。
3、导入数据库,碰到的问题主要是中文编码问题,要先打开mysql, show variables like ’%char%’;查看数据库的字符集编码形式,用对应的形式,比如我自己是utf8,用gbk就不好使。另外,在写连接mysql时 charset=’utf8’不要忘记。
下面是具体代码:
conn = pymysql.connect(host="127.0.0.1", user="root", passwd="root", db="jingdong", charset="utf8")
import scrapy
***隐藏网址***
from jingdong.items import JingdongItem
import re
import urllib.error
import urllib.request
import pymysql
class JdSpider(scrapy.Spider):
name = ’jd’
allowed_domains =
***隐藏网址***
header = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"}
#fh = open("D:/pythonlianxi/result/4.txt", "w")
def start_requests(self):
***隐藏网址***
def use_proxy(self,proxy_addr,url):
try:
req=urllib.request.Request(url)
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36")
***隐藏网址***
opener = urllib.request.build_opener(proxy, urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
data=urllib.request.urlopen(req).read().decode("utf-8","ignore")
return data
except urllib.error.URLError as e:
if hasattr(e,"code"):
print(e.code)
if hasattr(e,"reason"):
print(e.reason)
except Exception as e:
print(str(e))

def parse(self, response):
item=JingdongItem()
proxy_addr = "61.135.217.7:80"
try:
item/em/text()").extract()
item/p/@data-sku").extract()

for j in range(2,166):
***隐藏网址***
print(j)
#yield item
yield Request(url)
pricepat = ’"p":"(.*?)"’
personpat = ’"CommentCountStr":"(.*?)",’
print("2k")
#fh = open("D:/pythonlianxi/result/5.txt", "a")
conn = pymysql.connect(host="127.0.0.1", user="root", passwd="root", db="jingdong", charset="utf8")

for i in range(0,len(item)):
***隐藏网址***
***隐藏网址***
pricedata=self.use_proxy(proxy_addr,priceurl)
price=re.compile(pricepat).findall(pricedata)
persondata = self.use_proxy(proxy_addr,personurl)
person = re.compile(personpat).findall(persondata)

title=item
print(title)
price1=float(price)
#print(price1)
person1=person
#fh.write(tile+"
"+price+"
"+person+"
")
cursor = conn.cursor()
sql = "insert into jd(title,price,person) values(%s,%s,%s);"
params=(title,price1,person1)
print("4")
cursor.execute(sql,params)
conn.commit()

#fh.close()
conn.close()
return item
except Exception as e:
print(str(e))
相信聪明的你已经学会了,还等什么,赶快去实践吧。

以上就是我们为大家找到的有关“scrapy框架(Scrapy和Requests的post请求详解)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

scrapy框架(Scrapy和Requests的post请求详解)

本文编辑:admin

更多文章:


iso镜像怎么解压成gho(请问官方iso怎么转化为gho)

iso镜像怎么解压成gho(请问官方iso怎么转化为gho)

各位老铁们,大家好,今天由我来为大家分享iso镜像怎么解压成gho,以及请问官方iso怎么转化为gho的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月3日 20:50

win10要花钱装防火墙吗(windows10一定要安装防火墙吗)

win10要花钱装防火墙吗(windows10一定要安装防火墙吗)

这篇文章给大家聊聊关于win10要花钱装防火墙吗,以及windows10一定要安装防火墙吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月3日 20:40

存储设备包括哪些?常见的外部存储设备有哪些

存储设备包括哪些?常见的外部存储设备有哪些

今天给各位分享存储设备包括哪些的知识,其中也会对存储设备包括哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年11月3日 20:30

sd卡要求格式化怎么办(sd卡提示需要格式化,怎么恢复数据)

sd卡要求格式化怎么办(sd卡提示需要格式化,怎么恢复数据)

大家好,sd卡要求格式化怎么办相信很多的网友都不是很明白,包括sd卡提示需要格式化,怎么恢复数据也是一样,不过没有关系,接下来就来为大家分享关于sd卡要求格式化怎么办和sd卡提示需要格式化,怎么恢复数据的一些知识点,大家可以关注收藏,免得下

2026年11月3日 20:00

怎样安装手写输入法(手机手写输入法怎么设置)

怎样安装手写输入法(手机手写输入法怎么设置)

“怎样安装手写输入法”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看怎样安装手写输入法(手机手写输入法怎么设置)!

2026年11月3日 19:00

win10给c盘扩容(win10电脑c盘怎么扩大)

win10给c盘扩容(win10电脑c盘怎么扩大)

大家好,关于win10给c盘扩容很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于win10电脑c盘怎么扩大的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年11月3日 18:20

word文档怎么加一页(word文档怎么增加一页)

word文档怎么加一页(word文档怎么增加一页)

各位老铁们,大家好,今天由我来为大家分享word文档怎么加一页,以及word文档怎么增加一页的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月3日 17:50

win10系统自动重装(win10怎么重装win10系统)

win10系统自动重装(win10怎么重装win10系统)

“win10系统自动重装”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看win10系统自动重装(win10怎么重装win10系统)!

2026年11月3日 17:20

电脑重启死循环进不去(电脑出现无限自动重启的死循环如何解决)

电脑重启死循环进不去(电脑出现无限自动重启的死循环如何解决)

其实电脑重启死循环进不去的问题并不复杂,但是又很多的朋友都不太了解电脑出现无限自动重启的死循环如何解决,因此呢,今天小编就来为大家分享电脑重启死循环进不去的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月3日 17:00

tif用什么打开(tif文件用什么打开Win10打开tif文件的详细步骤)

tif用什么打开(tif文件用什么打开Win10打开tif文件的详细步骤)

大家好,今天小编来为大家解答以下的问题,关于tif用什么打开,tif文件用什么打开Win10打开tif文件的详细步骤这个很多人还不知道,现在让我们一起来看看吧!

2026年11月3日 16:20

最近更新

热门文章

flash cs6怎么下载(Adobe Flash CS6 Professional在哪下能破解吗)
2026-07-24 09:40:17 浏览:8
标签列表