我传入的good_id=100010816812,不知道为何存到数据库里变成了2147483647
来源:9-9 通过selenium解析商品详情页 - 3

慕斯8319460
2020-07-12
from selenium import webdriver
from scrapy import Selector
from jd_spider.models import * # 文件包名和程序名不能是一个 否则近者优先 会报错
import json
import warnings
warnings.filterwarnings('ignore')
browser=webdriver.Chrome()
def get_good_info(good_id):
good=Good(id=good_id)
url='https://item.jd.com/{}.html'.format(good_id)
browser.get(url)
html=browser.page_source
sel=Selector(text=html)
name=sel.xpath('//div[@class="sku-name"]/text()').get().strip()
supplier=sel.xpath('//div[@id="summary-service"]/span/text()').get()
price=sel.xpath('//span[@class="price J-p-{}"]/text()'.format(good_id)).get()
content=''.join(sel.xpath('//div[@id="detail"]//div[@class="tab-con"]').getall())
good_images=sel.xpath('//div[@id="spec-list"]//li/img/@src').getall()
good.name=name
good.supplier=supplier
good.price=float(price)
# good.content=content
# good.image_list=json.dumps(good_images)
existed_good = Good.select().where(Good.id == good_id) # good.id和id是一样的
if existed_good:
good.save()
else:
good.save(force_insert=True)
if __name__=='__main__':
get_good_info(100010816812)
写回答
2回答
-
夜愿小夜
2020-12-19
100010816812,超过int最大值了
012020-12-21 -
bobby
2020-07-13
good=Good(id=good_id)
这行代码有没有debug过看看是否这里的id是符合你的要求?00
相似问题